没有循环遍历所有文件
问题描述:
Windows批处理脚本: 我有三个文件在drectory.I`m试图循环通过位于目录中的多个文件并重命名文件,但一些如何它不循环。 我可以看到,var1正在获取正确的文件名,但不是sub1。这反过来以错误的输出重命名目录中的其他两个文件。有人能帮我解决这个问题吗?没有循环遍历所有文件
@echo on & setlocal EnableDelayedExpansion
set a=9
for /f "tokens=*" %%i in ('dir /b "C:\XX\YY\ZZ*"') do (
set var1=%%i
SET sub1=%var1:~7,22%
ECHO %sub1%
ren "%%i" "ABC!sub1!_!a!.dat"
set /a a+=1
)
答
@echo on
setlocal EnableDelayedExpansion
set a=10001
for /f "tokens=*" %%i in ('dir /b "C:\TEST\PBM\PAR*"') do (
set var1=%%i
SET sub1=!var1:~7,22!
ECHO !sub1!
ECHO ren "%%i" "ABC!sub1!_!a!.dat"
set /a a+=1
)
delayedexpansion
随着到在循环内改变必须使用!var!
语法变量的值的任何参考。 %var%
将访问分析时间值值。
注意:REN现在是echo
ed进行验证。
非常感谢。 – 2014-12-05 00:49:24