Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] FTP + CMD

Ответить
Настройки темы
CMD/BAT - [решено] FTP + CMD

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить 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

 

Аватара для sushnyak

Пользователь


Сообщения: 66
Благодарности: 1

Профиль | Отправить PM | Цитировать


а каким образом у тебя на удаленном ftp создается файл отчета "ok.txt"

Отправлено: 14:18, 15-04-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 4
Благодарности: 1

Профиль | Отправить 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
на
Код: Выделить весь код
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
Благодарности: 0

Профиль | Отправить 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
Благодарности: 108

Профиль | Отправить PM | Цитировать


есть похожая задачка, с ней такая проблема:

1. Как выкладывать отдельный файл командой ftp.exe на фтпшник с докачкой обязательно
2. Как при этом сохранить исходную дату/время файлов.

Т.е. есть вчерашний файл, объемом 140м, который сегодня кладу на фтп, но за почаса, допустим, выгрузилось только первые 100м и произошел обрыв. Завтра процесс повторяю и команда не качает файл заново, а добивает начатое вчера, выгружая оставшиеся 40м, вместо всех 140м, но при этом дата у файла на фтп окажется завтрашней, а должна быть датой исходного файла.

зы: надеюсь никого не запутал... прошу 2 ответа по пунктам, плиз.

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 19:48, 04-05-2009 | #5


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


NiOl, AFAIK штатный ftp.exe не поддерживает докачку, бесплатные альтернативы: NcFTP, MOVEit
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:37, 05-05-2009 | #6


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


В принципе, с небольшим упращением проверок сделал.
Использовал MoveIt ftps, но пришлось отказаться от проверки длины файлов, т.к. ftps не понимает команду "literal" (а заодно и "send", чего я никак не ожидал и никак не мог "поймать" глючок).

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 18:54, 18-05-2009 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] FTP + CMD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход