我有多个文件,并希望重命名其文件 例如,我有
" 2014_19_24_english_test.doc"
并将其更改为
" 2014 19 24 english test.doc"
这是我到目前为止所做的:
for /f "delims=" %%f in ('dir /b *.hwp') do ren "%%~f" "%%~nf:_= %%~xf"
这不起作用。任何帮助将不胜感激,
克里斯
答案 0 :(得分:0)
我发现了,这就是我所做的:
for /f "delims=" %%i in ('dir /b "*.doc"') do set LIST=%%i & set LIST | ren "%%~fi" "%%LIST:_= %%"
希望这有帮助。
答案 1 :(得分:0)
您不能将子字符串替换语法与for
变量一起使用,因此您需要使用临时变量来执行此操作,使用延迟扩展:
setlocal EnableDelayedExpansion
for /f "delims=" %%f in ('dir /b *.hwp') do (
set "FNAME=%%~nf"
ren "%%~ff" "!FNAME:_= !%%~xf"
)
endlocal