2
파일을 백업 폴더에 복사해야합니다. 파일 이름이 이미 사용 된 경우 색인이 붙습니다. 나는 그것이 작동하도록 할 수 없습니다. 변수 tmpfile은 결코 인덱스 카운터를 운반하지 않는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까? 스크립트는 다음과 같습니다.무료 일괄 파일 이름을 찾을 수있는 Windows 일괄 스크립트
감사합니다, 숀
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'. –
이 방법이 유용 할 수 있지만 불행히도 도움이되지 않습니다. echo! % index %를 echo! index로 변경했습니다! 그러나 그것은 출력 할 것입니다! index! 느낌표와 함께. 나는 뭔가를 놓치고 있어야합니다. –
당신은 명시 적으로'SETLOCAL ENABLEDELAYEDEXPANSION' (LS_dev의 답 참조)을 명시 할 필요가있다. – SvenS