FTP 명령을 실행 BAT 파일에 포함하는 방법

파일 수가 많은 것을 싫어합니다.


  • FTP를 배치 파일로 실행할 때 대화식으로 입력하는 부분을 텍스트 파일화하고 FTP 명령 줄 옵션
    로 파일 이름 지정
  • user, password를 지정하여 Unix/var/www/html에 index.html을 보내는 경우 다음 텍스트 파일을 준비합니다.

  • FTP_CMD.txt
    user
    password
    cd /var/www/html
    ascii
    put index.html
    bye
    

    실행할 때 FTP -s:FTP_CMD.txt와 같이 선택적으로 파일 이름을 지정합니다.
    작은 스크립트를 실행하려면 BAT 파일과 명령 파일의 두 가지를 준비해야합니다.
    * 그래서 Windows 환경에서 배치 파일과 FTP 명령을 하나의 파일로 할 수 없는가

    기본 구조


  • 파일 이름 확장명은 .bat입니다.
    확장자를 .bat로 두 번 클릭하여 배치 파일로 시작합니다
  • FTP 명령 줄 옵션 -s :로 자신을 읽습니다.FTP -s:"%~f0"를 지정하면 자신을 FTP 명령으로 실행합니다.
  • 배치 파일로서 실행하는 부분은 FTP에 있어서 무시할 수 있도록(듯이) 코멘트행이 되도록(듯이) 하고 싶습니다만,
    FTP 명령에는 주석에 해당하는 명령이 없습니다.
    그래서 FTP 명령 !을 사용합니다.
    FTP 상호 작용 중에 !를 치면 쉘로 이스케이프됩니다.
    Windows 환경에서는 DOS 모드로 전환
    따라서 !REM를 입력하면 REM은 DOS에서 주석이되므로 아무 것도하지 않고 FTP로 제어가 반환됩니다.
    이 메커니즘을 이용하여,!rem 2>Nul & @Echo off & @CLS같이 쓰면 FTP에게 무해한 줄로,
    배치 파일의 경우 !rem 오류가 발생하지만 오류 메시지는 NUL로 리디렉션됩니다.
    메시지 출력이 억제되고 & 다음에 설명 된 명령이 실행됩니다
  • 배치 부분의 끝은 EXIT를 실행하면 다음 행은 배치 파일로 무시됩니다.!rem 2> Nul & @PAUSE & @EXIT /b

  • 실제 예



    이런 식으로 쓸 수 있습니다.

    SAMPLE_FTP.BAT
    !rem 2>Nul & @Echo off & @CLS
    !rem 2>Nul & @ftp -s:%~f0
    !rem 2>Nul & @pause & @exit
    open HOSTNAME
    USERNAME
    PASSSWORD
    cd /var/www/html
    ascii
    put test.html 
    bye
    

    · HOSTNAME 부분에는 대상 서버의 호스트 이름 또는 IP 주소를 지정합니다.
    · USERNAME 부분에 로그인 사용자 ID를 지정합니다.
    · PASSWORD 부분에는 암호를 지정합니다.

    실행 결과



    좋은 웹페이지 즐겨찾기