web-dev-qa-db-ja.com

リモートFTPのディレクトリコンテンツを再帰的に一覧表示する方法

リモートUNIXFTPサーバーからファイルをダウンロードした後、すべてのファイルが正しくダウンロードされたことを確認する必要があります。最小限、Windowsコマンドプロンプトの「dir/s」コマンドと同様の情報が表示されます。 FTPクライアントはWindowsで実行されます。

21
edygunawan

悲しいことに、これはUnix/Linuxユーザー向けに書かれました:/

個人的には、LFTP/RSYNCのLinuxバイナリをWindowsで動作させるためだけに、CYGWINをインストールします。これと競合するものはないようです。

@ zadok.myopenid.comがrsyncについて言及したように、これはCYGWINを使用してビルドされたWindowsのようです(最終的にボックスへのsshアクセスを取得できる場合)

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

Rsyncは、すべてをチェックサムと比較し、部分的な変更ブロックを最適に転送するという点で便利です。


CYGWIN/Linuxを入手した場合:

http://lftp.yar.ru/ は、このための私のお気に入りの探索ツールです。

リモートではありますが、bashで実行できるほとんどすべてのことを実行できます。

例:

 $ lftp mirror.3fl.net.au 
 lftp mirror.3fl.net.au:〜> ls 
 drwxr-xr-x14ルートルート4096 2007年11月27日ゲーム
 drwx ------ 2 root root 16384 2006年4月13日lost + found 
 drwxr-xr-x15ミラーミラー4096Jul 15 05:20 pub 
 lftpmirror.3fl .net.au:/> cd games/misc 
 lftpmirror.3fl.net.au:/games/misc>find
./
./dreamchess/
 ./ dreamchess/full_game/
./dreamchess/full_game/dreamchess-0.2.0-win32.exe 
 ./ frets_on_fire/
./frets_on_fire/full_game/
 ./ frets_on_fire/full_game/FretsOnFire-1.2.451-macosx.Zip 
 ./ frets_on_fire/full_game/FretsOnFire-1.2.512-win32.Zip 
 ./ frets_on_fire/full_game/FretsOnFire_ .Zip 
 ./ gametap_setup.exe 
 ...... 
 lftpmirror.3fl .net.au:/ games/misc> du gametap_setup.exe 
 32442 gametap_setup.exe 
 lftp mirror.3fl.net.au:/games/misc> du -sh gametap_setup.exe 
 32M gametap_setup.exe 
 lftpmirror.3fl.net.au:/games/misc>
21
Kent Fredric

これを行う :

ls -lR

................。

4
jamesmar

Sshアクセスがある場合は、代わりにrsyncを使用してください。それははるかに優れたデータ転送アプリです。

OSのFuseを入手し、ftpfsをロードします。これにより、リモートftpディレクトリをローカルにマウントでき、dir/sまたはその他の任意のアプリケーションを使用できます。

3
Jonah Braun

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

ftp> dir -Rl Education.txtのローカルファイルへの出力:education.txt? y 227パッシブモードに入る(9,62,119,15,138,239)150開くASCIIファイルリストのモードデータ接続226転送が完了しました

0
SmitaK

Apache-commons-netからftp.listFiles( "directory")を使用でき、独自のBFSまたはDFSを記述して、すべてのファイルを再帰的にフェッチできます。

0
Raja