После загрузки файлов с удаленного FTP-сервера UNIX вы хотите убедиться, что вы правильно загрузили все файлы. Минимально вы получите информацию, аналогичную команде "dir/s" в командной строке Windows. Клиент FTP работает в Windows.
Как перечислить содержимое каталогов удаленного FTP, рекурсивно
Ответ 1
К сожалению, это было написано для пользователей Unix/Linux:/
Лично я бы установил CYGWIN только для того, чтобы заставить Linux файлы LFTP/RSYNC работать с окнами, так как похоже, что они не конкурируют с ним.
Как @zadok.myopenid.com упомянутый rsync, это выглядит как сборка окон для него с использованием CYGWIN (если вам удастся получить 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-x 14 root root 4096 Nov 27 2007 games drwx------ 2 root root 16384 Apr 13 2006 lost+found drwxr-xr-x 15 mirror mirror 4096 Jul 15 05:20 pub lftp mirror.3fl.net.au:/> cd games/misc lftp mirror.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_ghc_mod.zip ./gametap_setup.exe ...... lftp mirror.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 lftp mirror.3fl.net.au:/games/misc>
Ответ 2
Если у вас есть доступ к ssh, вместо этого используйте rsync. Это гораздо лучшее приложение для передачи данных.
Захватите предохранитель для вашей ОС и загрузите ftpfs. Это позволит локально установить удаленный ftp-каталог, и вы можете использовать dir/s или любое другое приложение, которое вы хотите на нем.
Ответ 3
Сделайте это:
ls -lR
..................
Ответ 4
Вы можете использовать ftp.listFiles( "directory" ) из apache-commons-net и можете написать собственную BFS или DFS, чтобы рекурсивно извлекать все файлы.
Ответ 5
Предполагая, что вы используете простую ftp через командную строку, Используйте команду dir с параметром -Rl, чтобы искать рекурсивно и копировать ее в файл, а затем искать файл, используя grep, find или любой способ, поддерживаемый вашей ОС.
ftp > dir -Rl education.txt вывод в локальный файл: education.txt? Y 227 Ввод пассивного режима (9,62,119,15,138,239) 150 Открытие соединения данных в режиме ASCII для списка файлов 226 Передача завершена