공백이 포함 된 로그 파일을 사용하도록 robocopy를 받으려면 어떻게해야합니까?


11

다음 명령을 시도하고 있습니다.

robocopy "x:\dir" "y:\dir" /mir /z /tee /fft /nfl /ndl /eta /log:"x:\path to logs\12-15-11 01 file with spaces.txt"

이 오류가 발생합니다.

ERROR : Invalid Parameter #10 : "/log:x:\path to logs\12-15-11 01 file with spaces.txt"

편집 # 1

위의 명령이 유효하다는 것이 밝혀졌습니다. 경로에 오타가있었습니다. 공백이 포함 된 경로가 있으면 robocopy의 / log 스위치에 다음과 같이 제공 할 수 있습니다./log:"c:\path to a file\robocopy.log"


나를 위해 작동합니다. 상단에 더 자세한 오류가 표시됩니까?
Carko

명령 행이 아닌 스크립트 컨텍스트에서 해당 명령을 실행하고 있습니까? 아마도 다른 무언가가 탈출을 추가하고 있습니까?
Zoredache

오류 메시지는 초기 인용 부호가 콜론 이전이 아니라 앞에 있음을 나타냅니다. 실행하려는 명령이 표시된 것과 같은가?
Harry Johnston

정말 죄송합니다. 길에 오타가있었습니다. 주로 당황했다. 모든 사람의 신속한 도움에 감사드립니다! 절차는 무엇입니까,이 질문을 삭제해야합니까? 또는 그것을 바꿔서 robocopy의 / log switch에 대한 인수를 따옴표로 묶을 수 있다는 것을 나타내는 대답을 추가 할 수 있습니까?
slm

@slm을 삭제할 이유가 없습니다. 위의 설명 중 하나가 문제를 찾는 데 도움이 되었으면 답변으로 게시하도록 요청한 다음 정답을 표시하십시오. 문제가 전적으로 다른 문제라면 자신의 답변을 작성하고 답변으로 표시하여 향후 검색자가 비슷한 문제가 있는지 확인하도록 알립니다.
music2myear

답변:


11

robocopy의 / log 스위치에 공백이 포함 된 경로를 제공해야하는 경우 다음과 같이 수행 할 수 있습니다.

/log:"c:\path to logs files\some log file.txt"

잘못된 오류 : 매개 변수 # 11 "/ log"가 표시됩니다. 다른 작업 명령 끝에 추가했습니다.
Andrew S

더 이상 창을 지원하는 곳에서 작업하지 않으므로 이것을 테스트 할 방법이 없습니다.
slm

로그 파일의 상위 디렉토리가 존재하는지 확인하십시오. Robocopy는 그것을 만들지 않으며 슬프게도 dir이 존재하지 않으면 cmdline 매개 변수에 대해 불평합니다.
mojo

4

Powershell 문서로 네 가지 로깅 방법이 있습니다

/log:<LogFile> : 상태 출력을 로그 파일에 기록합니다 (기존 로그 파일을 덮어 씁니다).

  • 예 : robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"

/log+:<LogFile> : 상태 출력을 로그 파일에 기록합니다 (기존 로그 파일에 출력 추가).

  • 예 : robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"

/unilog:<LogFile> : 상태 출력을 유니 코드 텍스트로 로그 파일에 씁니다 (기존 로그 파일을 덮어 씁니다).

  • 예 : robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"

/unilog+:<LogFile> : 상태 출력을 유니 코드 텍스트로 로그 파일에 기록합니다 (기존 로그 파일에 출력을 추가).

  • 예 : robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"

자세한 내용은 https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx를 참조 하십시오.


/tee또한 제품 명령 줄 출력도 스위치로 추가 하고 사용자가 명령 줄에서 파일 복사 진행률을 볼 수 있도록하는 것이 좋습니다 .
vibs2006

1

해당 디렉토리에 파일을 만들려면 관리자 권한이 필요하거나 팝이 필요할 때 발생합니다.

따라서 log / temp 디렉토리를 만들고 해당 로그 디렉토리에 로그 파일을 추가하십시오

$ mkdir C:\log

예 :

$ robocopy "c:\a" "c:\b" /log:"c:\log\copy_log.log"

0

로그 파일 경로에 공백이나 다른 스크립팅 구분 기호가 포함 되어 있으면 EDIT # 1 및 @slm 제안과 같이 따옴표로 묶으십시오 . 또한 Batch 스크립팅에 대한이 설명서에 설명 된대로 이스케이프 문자 사용에 유의하십시오 .


상당히 비참하고 원치 않는 Win 10 마이그레이션 후 동일한 문제가 발생합니다.
Marc
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.