명령 줄에서 여러 파일을 FTP로 어떻게합니까?


25

디렉토리의 내용을 FTP로 보내려고하지만 와일드 카드를 사용하는 올바른 방법을 찾지 못하는 것 같습니다. 이것이 일반적인 일인 것 같습니다. 내 모든 접근 방식이 잘못 되었습니까?

명령은

ftp -s:"C:\Scripts\ftp01" ftpserver.domain.com

호출되는 스크립트는 다음과 같습니다. billinkc 당 업데이트되었습니다.

username
password
ascii
cd "/destinationfolder"
lcd "C:\Backup"
mput *.bak
close
quit

스크립트가 시작되고 파일이 복사되지 않으며 FTP 세션이 열린 상태로 유지됩니다.

230 User username Logged in Successfully
ftp> ascii
200 TYPE Command OK A
ftp> cd "/destinationfolder"
250 Directory successfully changed to "/destinationfolder"
ftp> lcd "C:\Backup"
Local directory now C:\Backup.
ftp> mput *.bak
mput 9829980.bak? close
mput 6406766.bak? quit
ftp>
ftp>

결론

PROMPT 명령을 억제하려면 플래그를 추가해야했습니다.

ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com

답변:


36

mput명령을 발행하기 전에 prompt대화식 모드를 사용 불가능하게 하는 명령을 발행하십시오 . 일단 해제되면 mput(또는 mget)에 대한 각 파일을 확인하도록 요청하지 않아야합니다 .


3
"이 prompt명령 의 구문은 무엇입니까? "
Noumenon

2
대화식 프롬프트를 비활성화하는 다른 방법은 명령 자체 -i에 플래그 를 사용하는 ftp것입니다 (예 :) ftp -i -s:"C:\Scripts\ftp01" ftpserver.domain.com. 문서 에서는 -i옵션을 "다중 파일 전송 중에 대화식 프롬프트 끄기"로 설명합니다 .
Jesse Webb

3

로컬 폴더의 경로 이름을 사용해 본 적이 없지만 로컬 디렉토리 ( lcd)를 변경하여 수행했습니다 .

username
password
ascii
cd "/destinationfolder"
lcd Backup
mput *.bak
close
quit

2

라인을 삽입하려고 prompt n바로 전에 mput라인


1

mput여러 파일을 넣으 려면 명령을 사용하십시오 .


1
예, 그것이 제가 사용하는 것
mmcglynn

방화벽 뒤에서 (특히 SOHO 또는 저렴한 비즈니스 급 장치)? 내장 된 ftpWindows는 PASV 모드를 지원하지 않으므로 전송이 중단되고 완료되지 않습니다.
Chris S

1

관리자 권한이 있으면 ncftpput 을 설치할 수 있습니다 . 사용하기 쉽고 재귀 FTP 업로드에 좋습니다. 재귀 전송을위한 스위치는 -R입니다.

소프트웨어는 대부분의 Linux 배포판에 포함되어 있습니다. Windows의 경우 Cygwin 과 함께 설치할 수 있습니다 .


1

Tim Haegele이 언급했듯이 ncftp는 Linux를 설치하고 설치하고자한다면이를 매우 매끄럽게 수행합니다.

sudo apt-get install ncftp
ncftp -R ftpserver.domain.com . /Scripts/ftp01

0

이것은 내가 사용하고 나를 위해 일한 스크립트입니다.

ftp1.bat (스크립트)의 경우 :

ftp -i -s:\tmp\ftp.txt

ftp.txt (스크립트)의 경우 :

Open ip
username
password
prompt
lcd C:\YourFolder\YourFolder
binary
cd /DestinationFolder
prompt
mput *.bak
cd ..
disconnect
quit

어쩌면 필요하지 않은 부분이있을 수 있지만 나를 위해 일 한대로 넣었습니다. 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.