폴더가 아닌 robocopy 전송 파일


99

robocopy한 위치에서 다른 위치로 단일 파일을 전송하는 데 사용하려고 하지만 robocopy항상 폴더를 지정한다고 생각하는 것 같습니다. 예를 들면 다음과 같습니다.

robocopy "c:\transfer_this.txt" "z:\transferred.txt"

그러나 대신이 오류가 발생합니다.

2009/08/11 15:21:57 ERROR 123 (0x0000007B) Accessing Source Directory c:\transfer_this.txt\

( \끝 부분에 있음 transfer_this.txt)

그러나 전체 폴더처럼 취급하면 :

robocopy "c:\folder" "z:\folder"

작동하지만 폴더의 모든 것을 전송해야합니다.

단일 파일 만 전송하려면 어떻게해야 robocopy합니까?


def copyFile(fromLocation,toLocation,big=False): print("copy file from " + fromLocation + " to " + toLocation) if big: iFind=fromLocation.rfind('\\') fromLocation1 = fromLocation[: (iFind+1)] fileName=fromLocation[iFind+1 :] toLocation1 = toLocation[:(toLocation.rfind('\\')+1)] strcmd="robocopy "+fromLocation1+" "+toLocation1+" "+fileName print(strcmd) os.system(strcmd) else: shutil.copy2(fromLocation,toLocation)
Gank

답변:


129

보다: Robocopy /?

사용법 : ROBOCOPY 소스 대상 [파일 [파일] ...] [옵션]

robocopy c:\folder d:\folder transfer_this.txt

적어도 win2003에서 fwiw : 디렉토리 경로를 인용하면 문제가되는 것 같습니다.
samsmith

1
@samsmith 닫는 인용 부호 앞에 \가있을 때 딸꾹질을 보았습니다 (예 : ROBOCOPY "c : \ folder1 \"c : \ folder2 파일은 작동하지 않지만 ROBOCOPY "c : \ folder1"c : \ folder2 나는 그것이 텍스트 탈출 일 것으로 예상합니다
Mike Goatly

1
@MikeGoatly 우수 포인트. Robocopy는 \를 좋아하지 않습니다. 디렉토리 이름을 "이름"으로 지정하고 디렉토리 이외의 다른 것을 허용하는 방식을 암시하지 않습니다.
samsmith

19

Robocopy의 Wikipedia 기사에 따르면 :

파일 복사기가 아닌 폴더 복사기

Robocopy 구문은 폴더 이름 만 원본 및 대상 인수로 허용하므로 표준 복사 명령과 현저히 다릅니다. 파일 이름 (예 : 같은 와일드 카드 문자는 *.*) 올바른 소스 또는 대상 인수하지 않습니다. 선택적 파일 스펙 필터링 인수를 사용하여 파일을 선택하거나 제외 할 수 있습니다. 파일 사양은 이미 복사하기 위해 선택한 폴더와 관련된 파일 이름 만 참조 할 수 있습니다. 완전한 경로 이름은 지원되지 않습니다.

예를 들어, 파일을 복사하기 위해 foo.txt디렉토리 c:\barc:\baz, 하나는 다음 구문을 사용할 수 있습니다 :

robocopy c:\bar c:\baz foo.txt


한가지 알아 차렸다. C : \ bar에 폴더가 있고 / e 옵션이 추가 된 경우. 파일이없는 모든 폴더를 다시 만듭니다. foo.txt가 필터처럼 작동하고 해당 폴더와 빈 폴더를 유지하는 파일을 찾을 수 없기 때문에 추측합니다. 빈 폴더가 생성되는 이유입니다.
Donny V

1

다음과 같이 대상 앞에 공백을 삽입하십시오.

robocopy "c:\transfer_this.txt" "z: \this.txt" 

대상 "폴더"뒤에 공백이 z:있습니다.


3
이것은 나를 위해 작동하지 않았으므로 @KPWINC의 지침을 따르고 파일 이름을 소스 경로에서 제외해야했습니다.
유입 :

3
이것은 트롤 대답입니까? 시도했지만 작동하지 않습니다 (작동하지 않은 것처럼 보임).
Pacerier

-4

robocopy Q : \ F : \ Dopbox "Microsoft Office.zip"/ MT : 128


Robocopy 소스 대상 파일 이름
Dale

6
설명이없는 명령은 유용한 답이 아닙니다.
kasperd 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.