공백이 포함 된 로그 파일을 사용하도록 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.