web-dev-qa-db-ja.com

ユーザーの操作なしに1つのコマンドラインでFTPサイトからファイルをダウンロードする方法(Windows)

Windowsのコマンドラインから実行できるFTPコマンドがあり、FTPサイトからファイルをダウンロードします。ユーザーとパスワードは、「その」1行のコマンドで指定されます。これらのオプションとパスワードのパススルーは、そのコマンドラインにある必要があります。

echo open 192.168.1.64 21> ftp.txt
echo anonymous>> ftp.txt
echo [email protected]>> ftp.txt
echo bin >> ftp.txt
echo get test.txt >> ftp.txt
echo bye >> ftp.txt

ftp -s:ftp.txt
13
soundhax

私は方法を見つけました:

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
8
soundhax

これを試してください: バッチファイル-無人FTPダウンロード

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

匿名ダウンロード用

または:

WGET ftp://user:[email protected]/path/file.ext  

認証が必要な場合。


@XavierStuvwが編集やコメントを介して指摘したように、WGETを小文字のwgetに置き換えると、Linuxで機能します。

wget ftp://user:[email protected]/path/file.ext
13
CalvT

/?を使用して、DOSでコマンドの構文を要求できることに注意してください。スイッチ。例えば:

 C:\> ftp /?

FTPサーバーサービスを実行しているコンピューターとの間でファイルを転送します
(デーモンと呼ばれることもあります)。 Ftpはインタラクティブに使用できます。
 
 FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A ] [-x:sendbuffer] [-r:recvbuf 
 fer] [-b:asyncbuffers] [-w:windowsize] [Host] 
 
 -vリモートの表示を抑制しますサーバーの応答。
 -n初期接続時の自動ログインを抑制します。
 -i複数のファイルの転送中の対話型プロンプトをオフにします。
 -dデバッグを有効にします。
 -gファイル名の展開を無効にします(GLOBコマンドを参照)。
 -s:filename FTPコマンドを含むテキストファイルを指定します。 
コマンドは、FTPの起動後に自動的に実行されます。
 -aデータ接続をバインドするときにローカルインターフェイスを使用します。
-匿名としてのログイン。
 -x:send sockbufは、デフォルトのSO_SNDBUFサイズ8192を上書きします。
 -r:recv sockbufは、デフォルトのSO_RCVBUFサイズ8192を上書きします。 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
    
2
yosh m