9

Я знаю, что есть команда FTP, которую можно запустить из командной строки в Windows, и она загружает файл с FTP-сайта. Пользователь + пароль указываются в "той" однострочной 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

3 ответа3

12

Попробуйте это: Пакетные файлы - Автоматическая загрузка по FTP

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

для анонимных загрузок

или же:

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

когда требуется аутентификация.


Как указал @XavierStuvw с помощью правок и комментариев, переключение WGET на wget в нижнем регистре будет работать в Linux.

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

Я нашел способ:

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
2

Обратите внимание, что вы можете запросить синтаксис команды в DOS, используя /? переключатель. Например:

C:\>ftp /?

Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively.

FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf
fer] [-b:asyncbuffers] [-w:windowsize] [host]

  -v              Suppresses display of remote server responses.
  -n              Suppresses auto-login upon initial connection.
  -i              Turns off interactive prompting during multiple file
                  transfers.
  -d              Enables debugging.
  -g              Disables filename globbing (see GLOB command).
  -s:filename     Specifies a text file containing FTP commands; the
                  commands will automatically run after FTP starts.
  -a              Use any local interface when binding data connection.
  -A              login as anonymous.
  -x:send sockbuf Overrides the default SO_SNDBUF size of 8192.
  -r:recv sockbuf Overrides the default SO_RCVBUF size of 8192.
  -b:async count  Overrides the default async count of 3
  -w:windowsize   Overrides the default transfer buffer size of 65535.
  host            Specifies the host name or IP address of the remote
                  host to connect to.

Notes:
  - mget and mput commands take y/n/q for yes/no/quit.
  - Use Control-C to abort commands.

В вашем случае вы захотите использовать ключ -s, чтобы передать ему скрипт, включая ответы при входе.

Например:

  1. Создайте файл сценария (c:\scriptfile.txt) со следующим содержимым:

    open
    servername_or_ip
    username
    password
    get
    /fullpath/thefile.txt
    c:\fullpath\thefile.txt
    quit
    
  2. выполнить ftp с ключом -s и указать имя файла скрипта

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .