我想重命名一個資料夾中的 40 個 png 文件,它們的名稱很長。它們按順序命名,“blah...blah...blah160.png”、“blah...blah...blah200.png”,即在40 個字母數字字元之後是三位數字的序號(160 ),我只想在文件名中保留最後三位數字,因此,“blah...blah...blah160.png”應該變成“160.png”,是否有一個簡單的一行DOS(cmd.exe )命令在贏7?
答案1
以下 cmd 檔案應該可以完成這項工作:
@echo off & setlocal
for %%F in (*.png) do call :doIt %%F
goto xit
:doIt
set name=%~n1
set num=%name:~-3%
set ext=%~x1
set lentest=%name:~40,3%
if not [%lentest%]==[] (
copy "%1" %num%%ext%
:: del "%1"
)
goto :EOF
:xit
endlocal
取消註釋“del”行以實際刪除具有長名稱的版本。
可以將其壓縮為更少的行,但這會使其更難以理解。