おはようございます、すぎやまです。
この記事では、フォルダにある全ファイルの名前に、指定した文字を一括で追加する方法を紹介します。
この記事を読めば、ファイル名を変更する作業を大幅に短縮できます!
こんな方におすすめ
- ps1ファイルを使用してファイル名を一括変更したい方
- ChatGPTを使ったけど、機能しなかった方
ファイルの整理をしたいなど、既存のファイルのファイル名を変更したいことがあります。
ただ、1つ1つ手作業で名称変更をすると
・作業時間が莫大になる
・ミスを引き起こす可能性がある
といったデメリットがあります。
そこでこの記事では、フォルダにある全ファイルの名前に、指定した文字を一括で追加するps1ファイルを紹介します。
この記事ではコードも紹介しますので、それをコピーして張り付けるだけでps1ファイルが作れます。
それではどうぞ!
機能紹介
例:ファイル名の先頭に日付を追加したい
こんなとき、このファイルを使うと・・・
一括でファイル名に日付を追加できました!
さっそく作り方を説明します!
ps1ファイルの作り方
ps1ファイルの作り方は、この記事を参照ください。
図解付きでps1ファイルの作り方と使い方を紹介しています!
コード紹介
今回使用したファイルの中身は以下の通りです!
# PowerShellスクリプト開始
# 現在のディレクトリを取得
$folder_path = Get-Location
# 対象ファイルの拡張子を入力
$extension = Read-Host "対象ファイルの拡張子を入力後、エンターキーを入力してください(例: xlsx, docx, txt, csv ...)"
# ファイルの頭に追加したい文字を入力
$front = Read-Host "ファイル名の頭に追加したい文字を入力後、エンターキーを入力してください"
# ファイルの末尾に追加したい文字を入力
$back = Read-Host "ファイル名の末尾に追加したい文字を入力後、エンターキーを入力してください"
# 指定された拡張子のファイルを処理
Get-ChildItem -Path $folder_path -Filter "*.$extension" | ForEach-Object {
$old_name = $_.BaseName
$new_name = "$front$old_name$back.$extension"
Rename-Item -Path $_.FullName -NewName $new_name
}
Write-Output "完了しました!"
Pause
この上のコードをコピーして、テキストに張り付けてps1ファイルにしてください。
それだけでファイルが完成します!
使い方
注意! このファイルを使うとファイルの名前が変わってしまいます。
間違えてしまっても戻すことができないので、注意して使ってください!
先ほどの例を使って説明します。
step1:ファイルを起動する
完成したファイルを、対象のファイルのあるフォルダに保存します。
作成したファイルの上で右クリック(①)、
その後「PowerShellで実行」をクリック(②)します。
すると、こんな画面が出てきます。
step2:対象のファイルを指定する
次に、名前を変更したいファイルの拡張子を入力します。
(xlsx、jpeg等のファイルの末尾にあるやつです)
今回は「xlsx」と打ち込んでEnterを押します。
step3:追加したい文字を指定する
その後、ファイル名の頭に追加したい文字を入力します。
今回は「240506_」を追加したいので、「240506_」と入力しEnterを押します。
最後に、ファイル名の後ろに追加したい文字を入力します。
今回は追加したい文字がないので、なにも記入せずエンターキーを押します。
そうしたら作業完了です!
ご覧のように、ファイルの頭に日付を追加することができました。
もし末尾に文字が追加したい場合は、頭の入力をせずにエンターキーを押して、その後末尾に記載する文字を入力してください。
バッチファイルを使用する場合
今回はps1ファイルを使用しましたが、バッチファイルでも同様の操作ができます。
バッチファイルのほうが都合がよい方は下記をご覧ください。
ps1ファイルのカスタマイズ
今回はフォルダ内にあるファイルの頭と末尾に文字を追加しました。
しかしこちらのファイルを使用すれば、ファイル名の一部を指定して一括で置き換えることが出来ます!
そこで、次のような方は、それぞれリンクの記事をご覧ください。
特定の文字を一括で別の文字に置き換えたい
以上、最後まで読んでいただき誠にありがとうございました。
メーカー勤務のサラリーマン
日々の業務を効率的に進めるため、
慣れない々プログラミングを勉強中。
AIを活用した日々の作業削減を目論みブログを開設。