web-dev-qa-db-ja.com

Windows 7 FTPクライアントでFTP再帰リストの出力をローカルファイルにリダイレクトする方法は?

Windows 7でDOSコマンドFTPを使用する場合、このFTPコマンドを使用して、リモートディレクトリのすべてのファイルを再帰的に一覧表示できます。

ftp> ls -R

Ls -Rの出力をローカルファイルに取得できません。FTPは構文について文句を言い続けます。

ftp> ls -R . save.txt
usage: ls remote-directory local-file

誰かが理由を説明できますか、そして私が望んだ結果を得る方法はありますか?

6
mins

インタラクティブFTPシェルに入ると、私が知る限り、出力をキャプチャできません。

ただし、ftpコマンドにコマンドをパイプするか、コマンドでファイルを指定することができます(ユーザー名/パスワードの指定など、複数のコマンドが必要な場合は必須)。

次に、stdをファイルにリダイレクトします。

このような:

echo ls -R | ftp yourHostname > save.txt

または、すべてのコマンド(mycommands.txtなど)をテキストファイルに配置して、

ftp -s:mycommands.txt > save.txt

mycommmands.txtは次のようになります

user yourName yourPassword
open yourHostname
cd someDirectory
ls -R

(2つ目の例を現在テストできなかったため、機能しない場合はお知らせください)

7
weberik

コマンドラインを介して単純なftpを使用していると仮定して、dirコマンドを-Rlオプション付きで使用して再帰的に検索し、それをファイルにコピーしてから、grep、find、またはOSでサポートされている方法でファイルを検索します。

ftp> dir -Rl education.txt
output to local-file: education.txt? y
227 Entering Passive Mode (9,62,119,15,138,239)
150 Opening ASCII mode data connection for file list
226 Transfer complete
4
SmitaK
ftp> dir * Sample.txt

これでうまくいきました。

1
Arvind