Показать полную графическую версию : как втавить паузу в bat фаил
Alex_Foks
02-11-2014, 09:13
Здравствуйте, есть ftp
есть скрипт, нужно скопировать с локальной машины(Win2003) на FTP
вот скрипт
сам бат
ftp.exe -i -s:ftp_copy.txt>log_copy.txt
ftp_copy.txt
open IP ФТП
логин
пароль
binary
cd public_html/123
mput D:\123\*.*
bye
файлов окола 300-500 шт.
и при 150-200 копировании постоянно вылитает ошибка
как передать эти файлы с паузой в 2 миллисекунды, после каждого файлы
Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, из за этого батник вышибает ((((
и при 150-200 копировании »
Переведите на русский.
постоянно вылитает ошибка »
Какая именно ошибка?
Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, »
Что за хостер? Что за ограничение — конкретно? Откуда получена эта информация?
сам бат
ftp.exe -i -s:ftp_copy.txt>log_copy.txt »
ftp_copy.txt
open IP ФТП
логин
пароль
binary
cd public_html/123
mput D:123*.*
bye »
как передать эти файлы с паузой в 2 миллисекунды, после каждого файлы »
Всё в одном пакетном файле:
@echo off
:: Пауза (2 мс) после отправки каждого файла.
>.vbs echo WScript.Sleep 2
@>"ftp_copy.txt" (
for %%i in (
"open IP ФТП"
"логин"
"пароль"
"binary"
"cd public_html/123"
) do @(
echo %%~i
)
for /f "delims=" %%i in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
echo put "D:\123\%%i"
echo ! cscript //nologo .vbs
)
echo bye
)
ftp.exe -i -s:"ftp_copy.txt">"log_copy.txt"
del .vbs
exit /b
.
Georgio, так и не любите пользовать «ping.exe» для паузы?
Iska, тут же речь идёт о двух миллисекундах. Правда, не понимаю, почему так мало.
Georgio, приношу свои извинения, как-то недоглядел :(.
Alex_Foks
02-11-2014, 18:18
расширение .vbs присваивать ?
@echo off
:: Пауза (2 мс) после отправки каждого файла.
>.vbs echo WScript.Sleep 2
@>"ftp_copy.txt" (
for %%i in (
"open IP ФТП"
"логин"
"пароль"
"binary"
"cd public_html/123"
) do @(
echo %%~i
)
for /f "delims=" %%i in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
echo put "D:\123\%%i"
echo ! cscript //nologo .vbs
)
echo bye
)
ftp.exe -i -s:"ftp_copy.txt">"log_copy.txt"
del .vbs
exit /b
Всё в одном пакетном файле »
Alex_Foks, ".bat", конечно.
Alex_Foks
02-11-2014, 22:20
Спасибо за ответы ))))
объясните 2 строчки
echo ! cscript //nologo .vbs что эта делает ?
del .vbs и эта ?
PS а может поможете, доделать скрипт нужно ещё что бы перед этим заданием за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью
echo ! cscript //nologo .vbs »
Временный переход в оболочку и выполнение команды запуска ранее созданного временного VBS-файла.
del .vbs »
Удаление временного VBS-файла.
за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью »
Сделаю.
Alex_Foks
03-11-2014, 13:28
спс всё понятно, приятно общаться (что редкость )
@echo off
@>"ftp_copy.txt" (
for %%i in (
"open IP ФТП"
"логин"
"пароль"
"binary"
"cd public_html/123"
) do @(
echo %%~i
)
echo mdelete *
:: Пауза (8 мин) после удаления файлов.
echo ! ^>.vbs echo WScript.Sleep 480000
echo ! cscript //nologo .vbs
:: Пауза (2 мс) после отправки каждого файла.
echo ! ^>.vbs echo WScript.Sleep 2
for /f "delims=" %%i in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
echo put "D:\123\%%i"
echo ! cscript //nologo .vbs
)
echo bye
)
ftp.exe -i -s:"ftp_copy.txt">"log_copy.txt"
del .vbs
exit /b
Alex_Foks
05-11-2014, 19:35
не копирует файлы(на FTP ничего нет ((), я так понимаю при простое хостер обрывает соединение (((
можно как то поддержать это соединение, течении этих 8 минут ?
вот скрин
http://s40.radikal.ru/i089/1411/c5/bf32de5446e3.jpg
я так понимаю при простое хостер обрывает соединение ((( »
Запросто.
можно как то поддержать это соединение, течении этих 8 минут ? »
Попробуйте сократить паузу. Например, восемь раз делайте (паузу на минуту + запрос «pwd»). Или паузы на полминуты и 16 раз «pwd».
Alex_Foks
05-11-2014, 20:58
извините не осилю, олух я в этом ((((
@echo off
del "log_copy.txt" 2>nul
for /l %%i in (1 1 2) do (
@>"ftp_copy.txt" (
for %%j in (
"open IP ФТП"
"логин"
"пароль"
"binary"
"cd public_html/123"
) do @(
echo %%~j
)
if %%i==1 (
echo mdelete *
rem :: Пауза (8 мин) после удаления файлов.
echo ! ^>.vbs echo WScript.Sleep 480000
)
if %%i==2 (
rem :: Пауза (2 мс) после отправки каждого файла.
echo ! ^>.vbs echo WScript.Sleep 2
for /f "delims=" %%j in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
echo put "D:\123\%%j"
echo ! cscript //nologo .vbs
)
)
echo bye
)
>>"log_copy.txt" (
ftp.exe -i -s:"ftp_copy.txt"
echo.
)
cscript //nologo .vbs
)
del .vbs
exit /b
Alex_Foks
06-11-2014, 07:38
выходит ошибка
http://s57.radikal.ru/i155/1411/0b/8076abdd532b.jpg
выходит ошибка »
Alex_Foks, в строке for /f "delims=" %%j in ('"dir /a-d/b "D:\123\*" 2>nul"') do @( Вы забыли поставить одну из двух кавычек, отмеченных красным цветом.
Код: »
Отредактировал свой предыдущий пост, сократив код.
Alex_Foks
07-11-2014, 11:50
всё работает до пары до времени вот скрин с логов
т.е. при копировании 120 файла обрыв связи и дальше не копируется
и так постоянно то на 100 то на 120 то нормально, хз почему, связь с провайдером по оптике, обрывы исключены, всё остальное нормально копируется без збоев на другие подобные ftp, а в этом вечный геморой (((((((
http://s47.radikal.ru/i115/1411/9a/af1749ccb001.png
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.