命令行批量删除 _ 从其文件名
command line batch remove _ from its file name
我有多个文件,想重命名它的文件。
例如,我有
"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"
这是行不通的。如有任何帮助,我们将不胜感激,
克里斯
我发现了,这就是我所做的:
for /f "delims=" %%i in ('dir /b "*.doc"') do set LIST=%%i & set LIST | ren "%%~fi" "%%LIST:_= %%"
希望对您有所帮助。
您不能将子字符串替换语法与 for
变量一起使用,因此您需要一个临时变量来执行此操作,使用延迟扩展:
setlocal EnableDelayedExpansion
for /f "delims=" %%f in ('dir /b *.hwp') do (
set "FNAME=%%~nf"
ren "%%~ff" "!FNAME:_= !%%~xf"
)
endlocal
我有多个文件,想重命名它的文件。
例如,我有
"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"
这是行不通的。如有任何帮助,我们将不胜感激,
克里斯
我发现了,这就是我所做的:
for /f "delims=" %%i in ('dir /b "*.doc"') do set LIST=%%i & set LIST | ren "%%~fi" "%%LIST:_= %%"
希望对您有所帮助。
您不能将子字符串替换语法与 for
变量一起使用,因此您需要一个临时变量来执行此操作,使用延迟扩展:
setlocal EnableDelayedExpansion
for /f "delims=" %%f in ('dir /b *.hwp') do (
set "FNAME=%%~nf"
ren "%%~ff" "!FNAME:_= !%%~xf"
)
endlocal