백업 스크립트의 FOR 루프에 큰 따옴표로 묶인 입력 매개 변수 ("기본 사용자")가 사용되면 xcopy 명령 줄에서 이중 인수로 된 여분의 쌍으로 묶지 않으면 "매개 변수 개수가 잘못되었습니다" 인용 부호. 다른 명령은 추가 따옴표 없이도 작동합니다. 누군가 xcopy가 이런 식으로 동작하는 이유와 여분의 따옴표를 사용하지 않는 해결 방법이 있는지 설명 할 수 있습니까? 감사.왜 xcopy에 여러 따옴표가 필요합니까?
@echo off
setlocal
set drive=O:\Backups\test
set backupcmd=xcopy /s /c /d /e /i /r /y
if exist "c:\users" goto startvis7
if exist "c:\documents and settings\" goto startxp
:startxp
for %%a in ("Default User" Owner) do (
if exist "c:\documents and settings\%%a" (
echo ### Backing up desktop for %%a...
%backupcmd% ""c:\documents and settings\%%a\desktop"" ""%drive%\%%a\desktop""
) else (echo ### Account %%a not found.)
)
goto eof
:startvis7
for %%a in ("Default User" Owner) do (
if exist "c:\users\%%a" (
echo ### Backing up desktop for %%a...
%backupcmd% ""c:\users\%%a\desktop"" ""%drive%\%%a\desktop""
) else (echo ### Account %%a not found.)
)
:eof
echo Backup Complete!
@pause
endlocal