我正在尝试创建一个.bat文件,该文件将在三个单独的文件夹中复制所有以“ XX”结尾的文件。我希望将它们全部放在一个文件夹中,但要在名称的末尾添加一个递增的数字(这样就不会有重复的文件名)。在阅读完原始问题的答案后,我再次写了它。但是它仍然不能复制所有内容,因为它会得到重复的文件名。
:: The setlocal line should put before the for loop:
setlocal EnableDelayedExpansion
set _a=0
for /D %%D in ("R:\SQL QUERIES\Mark\text append testing\*") do (
::Same as set /a _a=_a+1
SET /A _a+=1
echo !_a!
xcopy /Y /S "%%~D\*XX*" "R:\SQL QUERIES\Mark\conversion_scripts"
ren "R:\SQL QUERIES\Mark\conversion_scripts\*XX*" *!_a!
)
pause
答案 0 :(得分:0)
这有效:
:: The setlocal line should put before the for loop:
setlocal EnableDelayedExpansion
set _a=0
for /D %%D in ("R:\SQL QUERIES\Mark\text append testing\*") do (
::Same as set /a _a=_a+1
SET /A _a+=1
echo !_a!
xcopy /Y /S "%%~D\*XX*" "R:\SQL QUERIES\Mark\conversion_scripts"
ren "R:\SQL QUERIES\Mark\conversion_scripts\*XX" *X!_a!
)