私のフォルダには次のようなファイルがいくつかあります:
asd55.png
qwe55.png
zxc55.png
55 を削除して次の結果を得たいと思います。
asd.png
qwe.png
zxc.png
私は以下を試しました:
ren *55.png *.png
しかし動作しません。
注記:
名前のサイズは次のように異なります:
asd55.png
qwerty55.png
答え1
ren ???55.png ???.png
見るWindows の RENAME コマンドはワイルドカードをどのように解釈しますか?説明のために
55 より前の文字数が変化する場合は、おそらくバッチ スクリプトを使用する必要があるでしょう。(コマンド ラインでかなり複雑な 1 行のコードを実行することもできますが、それだけの価値はありません)
@echo off
setlocal enableDelayedExpansion
for /f "delims=" %%F in ('dir /a-d ?*55.png') do (
set "name=%%~nF"
ren "%%F" "!name:~0,-2!%%~xF"
)
ファイル名に が含まれる可能性がある場合は!
、ループ内で遅延展開のオン/オフを切り替える必要があります。
@echo off
setlocal disableDelayedExpansion
for /f "delims=" %%F in ('dir /a-d ?*55.png') do (
set "name=%%~nF"
set "ext=%%~xF"
setlocal enableDelayedExpansion
ren "!name!!ext!" "!name:~0,-2!!ext!"
endlocal
)