|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] FTP + CMD |
|
CMD/BAT - [решено] FTP + CMD
|
Новый участник Сообщения: 2 |
Профиль | Отправить PM | Цитировать Всем привет.
Задача в следующем: Написать батник, чтобы файлы из папки Outbox отправлялись на FTP, складывались в папку Sent, и после отправки папка Outbox очищалась. но, если по каким то причинам FTP не принял файл - он остается в Outbox. Для этого придумал так, что после отправки на фтп, отуда для подтверждения приходит файлик ok.txt, если приходит - значит все норм и папка Outbox очищается. Это в идеале. В реале не работает) Вот часть батника: @echo off set FROM=C:\WINDOWS\exprep set TO=c:\temp\expert\outbox\ md "%TO%\" IF /I %Windir% == C:\WINNT GOTO Win2K set vdate=%DATE:~0,-5% GOTO SetFileName :Win2K set vdate=%DATE:~3,-5% :SetFileName set vtime=%TIME:~0,-3% set vtime=%vtime::=.% C:\PROGRA~1\WinRAR\rar.exe a -r "%TO%\%VDATE%.rar" "%FROM%\*.*" del c:\WINDOWS\exprep\*.* /S /q >nul xcopy c:\temp\expert\outbox\*.rar c:\temp\expert\sent\ /s /e /h >nul ftp -s:ftp.txt ftp.ftp.ru if exist c:\temp\expert\outbox\ok.txt (del /s c:\temp\expert\outbox\*.* /q >nul) else goto :EOF а вот содержание ftp.txt user pass lcd c:\temp\expert\outbox put *.rar get ok.txt bye в итоге, батник создает архив, копирует в Sent, подключается к фтп, копирует архив туда, но в любом случае очищает Outbox, даже если файла ok.txt не было на фтп. Это и есть проблема. Плиз, хелп. ) |
|
Отправлено: 14:00, 13-04-2009 |
Пользователь Сообщения: 66
|
Профиль | Отправить PM | Цитировать а каким образом у тебя на удаленном ftp создается файл отчета "ok.txt"
|
Отправлено: 14:18, 15-04-2009 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать можешь попробовать:
1)разместить перед предпоследней командой батника строчку вида del /s c:\temp\expert\outbox\ok.txt 2)Заменить if exist c:\temp\expert\outbox\ok.txt (del /s c:\temp\expert\outbox\*.* /q >nul) else goto :EOF |
Отправлено: 12:36, 17-04-2009 | #3 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать люди спасибо, разреб - все заработало. подкоректировал оба файлика. загвоздка в фтп была основная
@echo off taskkill /f /im expmon.exe>nul set FROM=C:\WINDOWS\exprep set TO=c:\temp\expert\outbox\ md "%TO%\" IF /I %Windir% == C:\WINNT GOTO Win2K set vdate=%DATE:~0,-5% GOTO SetFileName :Win2K set vdate=%DATE:~3,-5% :SetFileName set vtime=%TIME:~0,-3% set vtime=%vtime::=.% C:\PROGRA~1\WinRAR\rar.exe a -r "%TO%\%VDATE%.rar" "%FROM%\*.*" del c:\WINDOWS\exprep\*.* /S /q >nul start %WINDIR%\expmon.exe >nul del /s c:\temp\expert\outbox\*.txt ftp -s:ftp.txt ftp.ftp.ru if exist c:\temp\expert\outbox\ok.txt MOVE c:\temp\expert\outbox\*.rar c:\temp\expert\sent\ user pass lcd c:\temp\expert\outbox prompt mput *.rar mget *.txt bye |
Отправлено: 06:23, 21-04-2009 | #4 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать есть похожая задачка, с ней такая проблема:
1. Как выкладывать отдельный файл командой ftp.exe на фтпшник с докачкой обязательно 2. Как при этом сохранить исходную дату/время файлов. Т.е. есть вчерашний файл, объемом 140м, который сегодня кладу на фтп, но за почаса, допустим, выгрузилось только первые 100м и произошел обрыв. Завтра процесс повторяю и команда не качает файл заново, а добивает начатое вчера, выгружая оставшиеся 40м, вместо всех 140м, но при этом дата у файла на фтп окажется завтрашней, а должна быть датой исходного файла. зы: надеюсь никого не запутал... прошу 2 ответа по пунктам, плиз. |
|
------- Отправлено: 19:48, 04-05-2009 | #5 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать |
Отправлено: 03:37, 05-05-2009 | #6 |
Старожил Сообщения: 426
|
Профиль | Отправить PM | Цитировать В принципе, с небольшим упращением проверок сделал.
Использовал MoveIt ftps, но пришлось отказаться от проверки длины файлов, т.к. ftps не понимает команду "literal" (а заодно и "send", чего я никак не ожидал и никак не мог "поймать" глючок). |
------- Отправлено: 18:54, 18-05-2009 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] ResHacker.cmd | semiono | Скриптовые языки администрирования Windows | 13 | 27-07-2010 20:43 | |
VBS/WSH/JS - [решено] Из cmd в VBS | JIuBeHb | Скриптовые языки администрирования Windows | 3 | 19-01-2010 01:42 | |
CMD/BAT - [решено] Помогите запустить CMD-файл из CMD-файла с параметрами | Oleg48 | Скриптовые языки администрирования Windows | 2 | 18-11-2009 11:08 | |
CMD/BAT - cmd ftp "425 Could not open data connection to port ..." | ntro142343245 | Скриптовые языки администрирования Windows | 3 | 13-11-2009 12:43 | |
Помогите пожалуйста не срабатывает команда из*cmd файла запускаемого из RanOnceEx.cmd | vovchiku | Автоматическая установка Windows 2000/XP/2003 | 6 | 25-09-2007 23:38 |
|