我正在尝试使用批处理文件重命名很多文件。 例: 旧文件名:"文件2133.pdf" 新文件名:" document_NewFile_document 2133.pdf"
新文件名包含旧文件名的第一部分,扩展名(" NewFile")和完整的旧文件名。
问题是只有" echo"我的批处理工作正在进行 - 但不是"重命名":
like '%contaminate%'
like '%contaminat%'
like '%contamina%'
like '%contamin%'
...
like '%ontaminate%'
like '%ntaminate%'
like '%taminate%'
...
like '%ont%'
like '%ami%'
like '%nat%'
...
如果我改变了#34; echo"进入"重命名" - >语法错误。
答案 0 :(得分:0)
对于rename命令,您需要指定%% i文件的完整路径。
例如:
for %%i in (all/*.*) do for /f %%u in ("%%~ni") do (
rename "c:\temp\all\%%i" "%%u_NewFile_%%~xi"
)
答案 1 :(得分:0)
尝试此操作,无需对路径进行硬编码(除了all文件夹):
@echo off
for %%i in (all/*.*) do for /f %%u in ("%%~ni") do (
rename "%%~dpiall\%%~nxi" "%%u_NewFile_%%~nxi"
)
答案 2 :(得分:0)
我认为这就是你想要的:
cd all
for %%i in (*.*) do for /f %%u in ("%%i") do (
ren "%%i" "%%u_NewFile_%%i"
)