我想重命名一些名为initialy的文件:
setlocal enableextensions enabledelayedexpansion
set idx="xx"
for /l %%x in (0, 1, 1) do (
Set "Pattern=KIT%%x_"
Set "Replace=KIT0%%x_"
for /r %%# in (*!Pattern!*) do (
Set "File=%%~nx#"
echo "!File!"
rem Ren "%%#" "!File:%Pattern%=%Replace%!"
)
)
endlocal
我写了这个批处理文件,但它没有工作,它说有另一个同名文件或文件找不到!我没有明白这一点!请帮帮我
'№№№'
答案 0 :(得分:1)
虽然你使用延迟扩展,但%Replace%
已经在需要延迟扩展的区域,所以你需要使用不同的方法两次:
setlocal enableextensions enabledelayedexpansion
set idx="xx"
for /l %%x in (0, 1, 1) do (
Set "Pattern=KIT%%x_"
Set "Replace=KIT0%%x_"
for /r %%# in (*!Pattern!*) do (
Set "File=%%~nx#"
echo "!File!"
Call Echo Ren "%%#" "%%File:!Pattern!=!Replace!%%"
)
)
endlocal
如果输出看起来OK,则删除Call和Ren之间的回声。