こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

-広告-

解決済みの質問

Windows PowerShell ファイル名変

Windows PowerShell で以下のようなファイル名変更を行いたいのですが、
可能でしょうか?
元ファイル名
 201710131111_TEST1_ドラマ.mp4
 201710142222_TEST1_バラエティ.mp4
 201710152323_TEST1_報道.mp4
置換後ファイル名
 201710131111_TEST2.mp4
 201710142222_TEST2.mp4
 201710152323_TEST2.mp4
置換前ファイル名の日付時間と番組種はどんな文字列になるかは不明という前提で、
Windows PowerShell などのコマンドで動く物で実現したいです。

投稿日時 - 2017-10-13 00:28:42

QNo.9385251

暇なときに回答ください

質問者が選んだベストアンサー

次のようにすればいいです。
powershell だと とてもシンプルな記述になります。
パイプ処理で続けていますので 記述は1行です。(途中に改行はありません)
x:\folder の部分は自分の環境にあわせてください。
x はドライブレター、folder はファイルのあるフォルダpathです。
1つ目のパイプ処理で対象ファイルを抽出しています。
2つ目のパイプ処理でファイル名を変更(置き換え)しています。
---
get-childitem x:\folder | where{[string]($_.name).substring(13,5) -eq "TEST1"} | rename-item -newname {$_.name.substring(0,18) + $_.extension -replace "TEST1","TEST2"}
---
ファイル名にTEST1という文字列があるファイルだけを対象にしますので、
例えば元ファイルに
201710163434_TEST3_音楽.mp4
というファイルがある場合は、何も変更されません。

投稿日時 - 2017-10-15 09:38:16

お礼

kteds様
回答ありがとうございます。
すごいです。そのままコピペしたら出来ました。

投稿日時 - 2017-10-16 02:24:34

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.1

こんにちは。
rename ????????????_?????_*.mp4 ????????????_?????.mp4
ですかね?

投稿日時 - 2017-10-13 17:53:11

補足

回答ありがとうございます。
TEST3やTEST4,TEST5などは変更対象にしたくないのですが、
可能でしょうか?またTEST1の部分は任意の文字列を指定したいです。

投稿日時 - 2017-10-13 19:08:56

-広告-
-広告-
-広告-
-広告-