2016-09-18 1 views
1

robocopy를 사용하여 파일을 복사하고 /IS 옵션을 사용하여 대상에 이미 있으면 덮어 씁니다. 이 옵션을 로그에서 볼 수있는 다른 파일로 취급합니다. ERROR : Invalid Parameter #4 : "C:/Program Files/Git/IS"robocopy는 옵션을 파일로 취급합니다.

대상에있는 파일을 덮어 쓰는 동안 Windows에서 파일을 복사하는 방법을 아는 사람은 없습니다.

$ robocopy "Z:\ubuntushare" "C:\Natlink\Natlink\MacroSystem" "_git.py" /IS 

    ROBOCOPY  ::  Robust File Copy for Windows 

    Started : Sat Sep 17 18:00:05 2016 

    Source - Z:\ubuntushare\ 
    Dest - C:\Natlink\Natlink\MacroSystem\ 

    Files : _git.py 

    Options : /COPY:DAT /R:1000000 /W:30 

------------------------------------------------------------------------------ 

ERROR : Invalid Parameter #4 : "C:/Program Files/Git/IS" 

     Simple Usage :: ROBOCOPY source destination /MIR 

      source :: Source Directory (drive:\path or \\server\share\path). 
     destination :: Destination Dir (drive:\path or \\server\share\path). 
       /MIR :: Mirror a complete directory tree. 

    For more usage information run ROBOCOPY /? 


**** /MIR can DELETE files as well as copy them ! 

[email protected] MINGW64 /c/NatLink/NatLink/MacroSystem 

답변

2

ROBOCOPY는 명령 줄 옵션을 지정 창 스타일 슬래시 /를 사용합니다. Git-bash 나 유사한 터미널에서는 리눅스와 유사한 환경에서 슬래시가 root 경로로 해석되기 때문에 제대로 작동하지 않습니다.

셸이 /somethingsomething 루트 폴더 C:\Program Files\Git\ 아래의 파일로 해석하고 있지만 명령 줄 옵션은 아닙니다. 그래서 그것은 존재하지 않는 의미 "C:\Program Files\Git\something"을 끝냅니다.

도움말 옵션 /?을 사용해도 유사한 오류가 발생합니다.

/opt 대신 linux/unix/mac 표준 -opt을 사용하십시오. Robocopy는 대시/하이픈 -을 사용하여 옵션을 지정할 수 있습니다. 예 : robocopy -?가 작동하며 사용 정보/도움말을 보여줍니다. 그래서 수행

robocopy "Z:\ubuntushare" "C:\Natlink\Natlink\MacroSystem" "_git.py" -IS 
+2

에 슬래시를 두 배로하는 것입니다 robocopy는'/'대신'-'을 허용합니다. 명령 행을 엉망으로 만들지 말라는 쉘을 말하는 더 일반적인 방법이 있는가? –

+0

@HarryJohnston +1은 Robocopy가 명시 적으로 허용하고 작동한다는 것을 알지 못했습니다. 내 대답을 편집 할 것입니다. 그래서 나는'/ opts'를 사용하는 모든 windows 명령이이 오류를 발생시킬 것이라고 생각합니까? '/'를 사용하여'/'를 이스케이프 처리하는 것이 효과가 없다는 사실에 놀랐습니다. – aneroid

3

2016년 9월 19일 편집 - 테스트와는 MinGW Posix path conversion

2 개 이상으로 시작하는 인수에서

작동/이스케이프 윈도우 간주됩니다 스타일 스위치가 있고 앞/뒤에 전달되고 \ 은 모두 /로 변경됩니다.

  • 를 제외하고이 경우//의 선두 블록 다음 인수는 UNC 경로와 선행/ 제거되지 않은 것으로 간주된다.

참고 :이 전체 목록의 단지 작은 추출물이다. 이 경우,

그래서 창문에 자식 bash 쉘 작업 때 전체 목록을 읽고 더 나은 솔루션은 사실 그에 따라 스위치

robocopy "Z:\ubuntushare" "C:\Natlink\Natlink\MacroSystem" "_git.py" //IS 
+0

와우. 그 규칙 중 일부는 기괴합니다. * –

+0

@HarryJohnston, 나는 동의해야하지만, 또한 두 시스템의 공존에 대해 누군가 생각해 줘서 기쁘다. –