我必须编写一个脚本,将文件复制到备份文件夹。如果文件名已被使用,它将添加索引。我似乎无法正常工作。变量tmpfile似乎永远不会带有索引计数器。我究竟做错了什么?该脚本如下。
谢谢,肖恩
set srcdir=%~dp0
set oldxladir=%srcdir%OldXLAs
if not exist %oldxladir% mkdir %oldxladir%
set pathstart=C:\Documents and Settings\
set username=%USERNAME%
set pathend=\Application Data\Microsoft\Excel\XLSTART\
set pattern=groovy*.xla
set xladir=%pathstart%%username%%pathend%
set xlapattern="%pathstart%%username%%pathend%%pattern%"
for %%f in (%xlapattern%) do (
set filename=%%~nxf
set srcfile=%xladir%%filename%
set destfile=%oldxladir%\%filename%
set tmpfile=%destfile%
set /a index=1
:loop
if exist tmpfile (
set /a index+=1
echo %index%
set tmpfile=%destfile%%index%
goto :loop
)
echo %tmpfile%
move "%srcfile%" "%tmpfile%"
)
SETLOCAL ENABLEDELAYEDEXPANSION
set srcdir=%~dp0
set oldxladir=%srcdir%OldXLAs
if not exist %oldxladir% mkdir %oldxladir%
set pathstart=C:\Documents and Settings\
set username=%USERNAME%
set pathend=\Application Data\Microsoft\Excel\XLSTART\
set pattern=groovy*.xla
set xladir=%pathstart%%username%%pathend%
set xlapattern="%pathstart%%username%%pathend%%pattern%"
for %%f in (%xlapattern%) do (
set filename=%%~nxf
set srcfile=%xladir%!filename!
set destfile=%oldxladir%\!filename!
set tmpfile=!destfile!
set /a index=1
:loop
if exist !tmpfile! (
set /a index+=1
echo !index!
set tmpfile=!destfile!!index!
goto :loop
)
echo !tmpfile!
move "!srcfile!" "!tmpfile!"
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句