|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление каталогов на FTP из батника |
|
CMD/BAT - [решено] Удаление каталогов на FTP из батника
|
Новый участник Сообщения: 17 |
Помогите пожалуйста очистить каталог FTP. Нужно его очистить вместе со всеми подкаталогами.
mdelete * чистит всё содержимое подкаталогов, а надо грохнуть сами подкаталоги (их имена всё время разные). А для rmd нужно конкретные имена подкаталогов указывать, по маске он не работает. |
|
Отправлено: 14:49, 22-04-2009 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата shraybikus:
- выполнить DIR в текстовый файл; - отобрать из текста имена каталогов; - отфильтровать нужные через FindStr; - сформировать конфиг и запустить RmDir для конкретики нужен формат вывода DIR - он зависит от движка FTP-сервера |
|
Отправлено: 08:16, 23-04-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Я сделал dir, но есть ещё ls, его, наверно проще парсить:
ftp> Connected to *.*.*.*♪ open *.*.*.* 220 Microsoft FTP Service ftp> user *** 331 Password required for *** 230 User *** logged in. ftp> cd .. 250 CWD command successful. ftp> cd POST_MONEY_TRANSFER\Download 250 CWD command successful. ftp> Local directory now D:\GATEWAY\Gate_PP_mailbox.♪ ftp> lcd D:\GATEWAY\Gate_PP_mailbox binary 200 Type set to I. ftp> Interactive mode Off .♪ ftp> prompt dir 200 PORT command successful. 150 Opening ASCII mode data connection for /bin/ls. 04-21-09 04:52PM <DIR> 171108_oplata♪ 04-21-09 04:52PM <DIR> 181108_oplata♪ 04-21-09 04:52PM <DIR> 191108_oplata♪ 226 Transfer complete. ftp: 162 bytes received in 0,00Seconds 162000,00Kbytes/sec.♪ ftp> ls 200 PORT command successful. 150 Opening ASCII mode data connection for file list. 171108_oplata♪ 181108_oplata♪ 191108_oplata♪ 226 Transfer complete. ftp: 45 bytes received in 0,00Seconds 45000,00Kbytes/sec.♪ ftp> bye 221 Очень нужна конкретика, помогите, пожалуйста. |
Отправлено: 09:16, 23-04-2009 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата shraybikus:
![]() пример для каталогов, имя которых начинается на "MISC": @Echo Off :: ~Параметры соединения Set $Host=ftp.microsoft.com Set $User=anonymous Set $Pass=user@mail.ru Set $Root=. :: ~Временные файлы Set $FFtp=%~dpn0.cfg Set $FDir=%~dpn0.dir Set $FTmp=%~dpn0.tmp If Exist %$FDir% DEL %$FDir% :: Готовим CFG-файл для FTP:Dir Echo %$User%>"%$FFtp%" Echo %$Pass%>>"%$FFtp%" Echo dir %$Root% "%$FTmp%">>"%$FFtp%" Echo bye>>"%$FFtp%" :: Выполняем запрос и формируем список всех каталогов FTP -s:"%$FFtp%" %$Host% For /F "Tokens=3* UseBackQ Delims= " %%i In ("%$FTmp%") Do If /I "%%i"=="<DIR>" Echo %%j>>"%$FDir%" :: Готовим CFG-файл для FTP:RmDir Echo %$User%>"%$FFtp%" Echo %$Pass%>>"%$FFtp%" For /F "Delims=" %%i In ('FindStr /IBRC:"MISC" "%$FDir%"') Do Echo rmdir "%%i">>"%$FFtp%" Echo bye>>"%$FFtp%" :: Выполняем удаление по списку FTP -s:"%$FFtp%" %$Host% |
|
Последний раз редактировалось amel27, 23-04-2009 в 12:39. Причина: см ниже Отправлено: 11:17, 23-04-2009 | #4 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата amel27:
rmdir "171108_oplata " rmdir "181108_oplata " rmdir "191108_oplata " соответственно rmd не отрабатывает, каталога нету такого говорит. И ещё, можно ли как-то вообще иключить маску "MISC"? Мне точно неизвестно, как будут называться каталоги. |
||
Отправлено: 12:13, 23-04-2009 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:42, 23-04-2009 | #6 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Отлично!!!
Я только добавил Echo cd %$Root% >>"%$FFtp%" в CFG-файл для FTP:RmDir и всё взлетело!!! Мегареспектище тебе, мегагуру скриптов и повелитель батников!!! |
Отправлено: 13:41, 23-04-2009 | #7 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать У меня не удаляются все файлы и каталоги на сервере, выдает ошибку:
C:\Documents\bat>ftp_del.bat Связь с ftp.narod.ru. 220 first-ftp.narod.ru (Libra FTP daemon 0.17 20100219) Пользователь (ftp.narod.ru:(none)): 331 Password required 230 Logged in, proceed ftp> dir . "C:\Documents\bat\ftp_del.tmp" 200 PORT command OK 150 Opening data connection 226 Transfer completed ftp: 202 байт получено за 0,00 (сек) со скоростью 202000,00 (КБ/сек). ftp> bye 221 Bye FINDSTR: Не удается открыть C:\Documents\bat\ftp_del.dir Связь с ftp.narod.ru. 220 first-ftp.narod.ru (Libra FTP daemon 0.17 20100219) Пользователь (ftp.narod.ru:(none)): 331 Password required 230 Logged in, proceed ftp> bye 221 Bye |
Отправлено: 15:58, 15-03-2011 | #8 |
Пользователь Сообщения: 65
|
Профиль | Отправить PM | Цитировать Помогите разрулить с такой проблемой. Заливаю файлы *.xls на диапазон FTP следующим батников.
Цитата:
Вот содержание ftp.cfg: Цитата:
если меняю в конфиге: Цитата:
Не пойму, в чем ошибка? При том, что удаленно захожу на FTP через FAR - права на удаления есть. Где-то ошибка в синтаксисе? |
|||
Отправлено: 15:02, 24-05-2011 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Запуск программ из батника | akrav | Скриптовые языки администрирования Windows | 16 | 27-05-2009 00:19 | |
CMD/BAT - Удаление пустых каталогов | rosalin | Скриптовые языки администрирования Windows | 1 | 12-05-2009 15:05 | |
FTP/File - Если сажаю ftp сервер на другой порт, не грузится список каталогов. | mitiya | Сетевые технологии | 11 | 29-03-2009 19:40 | |
Удаление каталогов после инсталяции | bravomcs | Автоматическая установка приложений | 5 | 21-08-2006 12:45 | |
Удаление неудаляемых файлов и каталогов | Kasper | Хочу все знать | 52 | 14-05-2004 00:29 |
|