1

ファイル名の末尾に特定の文字列が含まれていない場合に、ファイル名の名前を変更するバッチ ファイルを作成しようとしています。たとえば、次のファイルを含むフォルダーがあります。

テストファイル1.csv
テストファイル2 Zac.csv

最後 (拡張子の前) に「Zac」(引用符なし) を含まないすべてのファイルについて、「Zac」をファイル名に追加したいと考えています。したがって、結果は次のようになります。

テストファイル1 Zac.csv
テストファイル2 Zac.csv

これは私が現在バッチファイルに持っているものです:

for %%f in (*.csv) do (ren "%%f" ???????????????????????????????" Zac.csv"

ただし、これにより、既に「Zac」が含まれている場合でも、すべてのファイルに「Zac」が追加されます。末尾に「Zac」がないファイルだけを変更するにはどうすればよいですか?

どうもありがとうございました!

4

3 に答える 3

3
    for /f "delims=" %%a in ('dir /b /a-d *.csv ^|findstr /iv "zac"') do echo ren "%%~a" "%%~na Zac%%~xa"

出力を見て、問題がなければ削除echoします。
注: ファイルが既に存在する場合はren失敗し、エラー メッセージが表示されます。

于 2013-09-26T21:36:40.233 に答える
0

renamerを使用して、これらの入力ファイル:

Test File1 Zac.csv
Test File2.csv
Test File3.csv
Test File4.xls
Test File5 Zac.csv

このコマンドで:

$ renamer --regex --find '(Test File\d)(\.\w+)' --replace '$1 Zac$2'  *

これらの新しいファイル名になります:

Test File1 Zac.csv
Test File2 Zac.csv
Test File3 Zac.csv
Test File4 Zac.xls
Test File5 Zac.csv

さらにサポートが必要な場合はお知らせください。

于 2013-09-27T09:18:15.683 に答える