※ ChatGPTを利用し、要約された質問です(原文:ファイル名の変更(指定文字を置換))
ファイル名変更(指定文字を置換)の手順
このQ&Aのポイント
powershellを使用してファイル名の変更を行う際、カッコを他の文字に置換する必要があります。
バッチ処理でカッコをxxという文字に置換し、ファイル名を変更します。
修正したbatファイルを実行すると、指定したファイルのカッコが置換された新しいファイル名に変更されます。
powershell(PS)では、カッコ([,])の有るファイル名は利用できません。
そこで、バッチ処理でPSに処理させる下準備でカッコを他の文字(xx)に置換した
ファイル名に変名したいと思います。
(PSで処理後に再置換して元のファイル名に戻す予定)
例えば、
[品番001]_Model_s0023.jpeg
を
xx品番001xx_Model_s0023.jpeg
に変名する。
以前教えてもらったbatを変更して以下のように修正しましたが
うまく処理できませんでした。
どのように修正すれば良いでしょうか ?
'------------------------------------------------
@echo off
rem 該当するファイルを書き換える(カッコ>xx変換)
for %%f in ( *.jpeg ) do call :sub "%%f"
exit /b
:sub
set fname=%1
set fname=%fname:[=xx%
set fname=%fname:]=xx%
ren %1 %fname%
goto :EOF
お礼
dell_OKさん、アドバイス感謝します。 コード自体は、問題なく処理されたの事なので もう一度チェックしてみました。 結果として原因は、私の凡ミスでした。 拡張子を確認せずに *.jpegが対象なのに*.jpgを変換しようとしていました。