For loop 使用cmd重命名多个文件
我正在尝试使用CMD提示符重命名文件夹中的多个文件。以下代码重命名为For loop 使用cmd重命名多个文件,for-loop,cmd,file-rename,For Loop,Cmd,File Rename,我正在尝试使用CMD提示符重命名文件夹中的多个文件。以下代码重命名为file1,file2,。。。但是我想从一个中间值追加,比如file51,file52 SET /a "#=" FOR %_ IN (*) DO ( CALL SET /A "#=#+1" CALL REN "%~f_" "file%#%.jpg" ) 如果我在第一行中使用SET/a“#=51”,它将对每个循环执行,每次都将值初始化为51。
file1
,file2
,。。。但是我想从一个中间值追加,比如file51
,file52
SET /a "#="
FOR %_ IN (*) DO (
CALL SET /A "#=#+1"
CALL REN "%~f_" "file%#%.jpg" )
如果我在第一行中使用SET/a“#=51”
,它将对每个循环执行,每次都将值初始化为51
。
我漏掉了什么?部分
%#%
应该是%^#%
(假设没有名为^#
的变量)。那么第一个调用
就没有必要了,您应该从第一行中删除/a
,或者将值0
,以避免缺少操作数。
错误。像这样吗?在(*)DO中为%u设置“#=”(设置“#=#+1”CALL REN“%~f#”“file%^#%.jpg”)这将仅将第一个文件重命名为file%^#%.jpg。对于其他文件,“存在重复文件名”错误被抛出。嗯……不,您在第二个set
命令中错过了/A
,该命令是必需的…