2010-12-03 15 views
2

Windows에서 전체 폴더 명령 줄을 업로드해야합니다. 파일을 포함하여 하위 디렉토리를 업로드 할 수 없습니다.Windows 명령 줄에서 FTP로 하위 폴더 업로드

ftp 
open snuzzer.dk 
username 
password 
mput *.* 

이것은 루트에있는 모든 파일 만 업로드합니다.

아무도 도와 줄 수 있습니까?

답변

0

한 가지 방법은 ncftpput에 -R 옵션을 사용하는 것입니다.

+0

가 대단히 감사합니다 (I은 WinSCP에의 저자 해요)! 이것은 매우 간단했습니다. 로컬 파일이 원격 파일보다 최신 파일 인 경우에만 업로드 옵션이 있는지 알고 있습니까? 나는이 문서에서 찾을 수 없습니다. – simonbs

+0

나는 그렇게 생각하지 않는다. 'rsync'프로그램은이를 수행 할 수 있지만 클라이언트와 서버 모두에 있어야합니다. –

+0

또한 find 명령과 함께 사용하기 위해 마커 파일을 사용하는 스크립트를 설정할 수 있습니다. "find. -type f -newer marker"를 사용하여 보내려는 파일 목록을 만듭니다. 업로드 후 '터치 마커'를 터치합니다. 그러나 그것은 복잡해진다. 그리고 어쨌든, 당신은 유닉스가 아닌 윈도우에 있기 때문에, cygwin을 사용하지 않는 한 모든 것을 설치하는 것은 번거롭다. –

1

ftp에 대한 명령 파일을 만드는 배치 스크립트를 사용하여 해당 파일과 함께 ftp 명령을 실행할 수 있습니다.

@ECHO OFF  
ECHO open snuzzer.dk>command.txt 
ECHO username>>command.txt 
ECHO password>>command.txt 

FOR /F "delims=" %%A IN ('DIR /b /s /a-d "%1"') DO (
    ECHO put "%%A">>command.txt 
) 

ECHO close>>command.txt 

ftp /s:command.txt 

FOR 루프는 단순히 recusively 모든 파일의 목록을 만듭니다 :이 liek

뭔가.

+0

Tahnk 너. 나는 ncftpput을 사용하기로 선택한다. 이것은 매우 단순 해 보였다. – simonbs

1

Windows 명령 줄 ftp.exe 클라이언트는 (하위) 폴더 작업을 지원하지 않습니다.

타사 FTP 클라이언트를 사용해야합니다.


WinSCP와 예를 들어, 당신은 사용할 수 있습니다

winscp.com /log=ftp.log /command^
    "open ftp://username:[email protected]/"^
    "put *"^
    "exit" 

converting Windows ftp.exe script to WinSCP script위한 가이드가있다. 더 쉬울지라도 WinSCP GUI generate the script or batch file for you이 있어야합니다.