사용자 상호 작용없이 하나의 명령 줄에서 FTP 사이트에서 파일을 다운로드하는 방법 (Windows)


13

Windows의 명령 줄에서 실행할 수있는 FTP 명령이 있으며 FTP 사이트에서 파일을 다운로드한다는 것을 알고 있습니다. 사용자 + 비밀번호는 "that"한 줄 cmd에 지정되어 있습니다. 이 옵션들과 암호는 해당 명령 줄에 있어야합니다.

echo open 192.168.1.64 21> ftp.txt
echo anonymous>> ftp.txt
echo ftp@ftp.com>> ftp.txt
echo bin >> ftp.txt
echo get test.txt >> ftp.txt
echo bye >> ftp.txt

ftp -s:ftp.txt

FTP 를 통해 다운로드 해야합니까, 아니면 프로그램과 함께 해당 파일을 다운로드해야합니까? (Rsync는 동기화 할 이름과 명령 줄에서 파일을 읽을 수 있습니다. Scp는 명령 줄에서도이를 수행 할 수 있습니다. 둘 다 일반 텍스트, no_true_security FTP만큼 오래되지는 않습니다).
Hennes

답변:


13

이것을보십시오 : 배치 파일-무인 FTP 다운로드

WGET ftp://ftp.mydomain.com/path/file.ext  

익명 다운로드

또는:

WGET ftp://user:password@ftp.mydomain.com/path/file.ext  

인증이 필요한 경우


@XavierStuvw가 편집하고 주석을 통해 지적, 교환 WGET소문자로하는 것은 wget리눅스에서 작동합니다.

wget ftp://user:password@ftp.mydomain.com/path/file.ext

나는 한 줄에 사용자 및 암호 스위치 옵션이있는 명령을 보지 못합니다.
soundhax 2018 년

내가 기억하는 것처럼 -s 스위치는 문장에 있었다
soundhax

2
슈퍼 유저에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Canadian Luke

1
@CalvT 반대 의견이 없습니다. 의견의 구상 된 이점은 Linux 사용자가 인터넷 검색 후이 페이지에 방문하여 해당 시스템을 감독 할 수 있다는 것입니다. 사실 그것은 나에게 일어났다.
XavierStuvw

1
@CalvT 제목은 실제로 정확하지만 검색 엔진은 종종 전체 답변 프레임을 시각화하여 쉽게 튀길 수 있습니다. 물론 이것은 독자가 생각하는 것을 무시해서는 안되지만,이 경우 Linux와 Windows 명령어가 기본적으로 동일하다는 것은 우연의 일치였습니다. 고마워요
XavierStuvw

8

나는 길을 찾았다.

echo open 192.168.0.1 >> ftp &echo user admin w00t >> ftp &echo binary >> ftp &echo get file.zip >> ftp &echo bye >> ftp &ftp -n -v -s:ftp &del ftp

시도했을 때 작동하지 않았습니다 ( WinSCP의 명령 줄 클라이언트를 대신 사용했습니다 ). 테스트 한 Windows 버전은 무엇입니까?
Peter Mortensen

이 라인의 작동 방식을 설명해 주시겠습니까? 문서를 찾을 수 없습니다. 나는 그것을 psftp와 함께 작동 시키려고 노력하고있다
stallingOne

@stallingOne &줄 바꿈 자로 생각하십시오 ... 실제로 여러 명령입니다. 기본적으로 그는를 사용하여 한 줄씩 스크립트를 작성한 echo다음 ftp실행하도록 지시합니다. 그는 스크립트 파일의 이름을 지정하고 ftp있기 때문에 혼란스러워합니다.
Havenard

파일 이름을 잘못 선택했습니다. "ftp"는 그가 만들고있는 스크립트의 파일 이름과 exe의 이름입니다. 따라서 경로 해상도 ftp -n -v -s:ftp는 약간 엉뚱합니다. ( "ftp"의 각 사용은 다른 것을 의미합니다)
Chad Schouggins

2

/?를 사용하여 DOS에서 명령 구문을 요청할 수 있습니다. 스위치. 예를 들면 다음과 같습니다.

C : \> ftp /?

FTP 서버 서비스를 실행하는 컴퓨터와 파일을주고받습니다
(때로는 데몬이라고 함). Ftp는 대화식으로 사용할 수 있습니다.

FTP [-v] [-d] [-i] [-n] [-g] [-s : 파일 이름] [-a] [-A] [-x : sendbuffer] [-r : recvbuf
fer] [-b : asyncbuffers] [-w : windowsize] [호스트]

  -v 원격 서버 응답 표시를 억제합니다.
  -n 초기 연결시 자동 로그인을 억제합니다.
  -i 여러 파일 동안 대화식 프롬프트를 해제합니다
                  양도.
  -d 디버깅을 가능하게합니다.
  -g 파일 이름 globbing을 비활성화합니다 (GLOB 명령 참조).
  -s : filename FTP 명령이 포함 된 텍스트 파일을 지정합니다. 그만큼
                  FTP가 시작된 후 명령이 자동으로 실행됩니다.
  -a 데이터 연결을 바인딩 할 때 로컬 인터페이스를 사용하십시오.
  -익명으로 로그인하십시오.
  -x : send sockbuf 기본 SO_SNDBUF 크기 인 8192를 대체합니다.
  -r : recv sockbuf 기본 SO_RCVBUF 크기 인 8192를 대체합니다.
  -b : async count 기본 비동기 수 3을 대체합니다.
  -w : windowsize 기본 전송 버퍼 크기 65535를 대체합니다.
  host 원격 호스트 이름 또는 IP 주소를 지정합니다
                  연결할 호스트.

노트:
  -mget 및 mput 명령은 yes / no / quit에 대해 y / n / q를 사용합니다.
  -Control-C를 사용하여 명령을 중단하십시오.

귀하의 경우 -s 스위치를 사용하여 로그인 응답을 포함하여 스크립트를 제공하려고합니다.

예를 들면 다음과 같습니다.

  1. 다음 내용으로 스크립트 파일 (c : \ scriptfile.txt)을 작성하십시오.

    open
    servername_or_ip
    username
    password
    get
    /fullpath/thefile.txt
    c:\fullpath\thefile.txt
    quit
    
  2. -s 스위치를 사용하여 ftp를 실행하고 스크립트 파일 이름을 지정하십시오.

    C:\>ftp -s:c:\scriptfile.txt
    

Windows XP (예, 알고 있습니다)에서 "알 수없는 호스트 /?"가 나타납니다.
Peter Mortensen
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.