как втавить паузу в bat фаил
Здравствуйте, есть ftp
есть скрипт, нужно скопировать с локальной машины(Win2003) на FTP
вот скрипт
сам бат
PHP код:
ftp.exe -i -s:ftp_copy.txt>log_copy.txt
ftp_copy.txt
PHP код:
open IP ФТП логин пароль binary cd public_html/123 mput D:123*.* bye
файлов окола 300-500 шт.
и при 150-200 копировании постоянно вылитает ошибка
как передать эти файлы с паузой в 2 миллисекунды, после каждого файлы
Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, из за этого батник вышибает ((((
|
Цитата:
Цитата Alex_Foks
и при 150-200 копировании »
|
Переведите на русский.
Цитата:
Цитата Alex_Foks
постоянно вылитает ошибка »
|
Какая именно ошибка?
Цитата:
Цитата Alex_Foks
Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, »
|
Что за хостер? Что за ограничение — конкретно? Откуда получена эта информация?
|
Цитата:
Цитата Alex_Foks
сам бат
Код:
ftp.exe -i -s:ftp_copy.txt>log_copy.txt
»
|
Цитата:
Цитата Alex_Foks
ftp_copy.txt
Код:
open IP ФТП
логин
пароль
binary
cd public_html/123
mput D:123*.*
bye
»
|
Цитата:
Цитата Alex_Foks
как передать эти файлы с паузой в 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, приношу свои извинения, как-то недоглядел :(.
|
расширение .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
|
Цитата:
Цитата Georgio
Всё в одном пакетном файле »
|
Alex_Foks, " .bat", конечно.
|
Спасибо за ответы ))))
объясните 2 строчки
echo ! cscript //nologo .vbs что эта делает ?
del .vbs и эта ?
PS а может поможете, доделать скрипт нужно ещё что бы перед этим заданием за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью
|
Цитата:
Цитата Alex_Foks
echo ! cscript //nologo .vbs »
|
Временный переход в оболочку и выполнение команды запуска ранее созданного временного VBS-файла.
Удаление временного VBS-файла.
Цитата:
Цитата Alex_Foks
за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью »
|
Сделаю.
|
спс всё понятно, приятно общаться (что редкость )
|
Код:
@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
|
не копирует файлы(на FTP ничего нет ((), я так понимаю при простое хостер обрывает соединение (((
можно как то поддержать это соединение, течении этих 8 минут ?
вот скрин

|
Цитата:
Цитата Alex_Foks
я так понимаю при простое хостер обрывает соединение ((( »
|
Запросто.
Цитата:
Цитата Alex_Foks
можно как то поддержать это соединение, течении этих 8 минут ? »
|
Попробуйте сократить паузу. Например, восемь раз делайте (паузу на минуту + запрос «pwd»). Или паузы на полминуты и 16 раз «pwd».
|
извините не осилю, олух я в этом ((((
|
Код:
@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, в строке
Код:
for /f "delims=" %%j in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
Вы забыли поставить одну из двух кавычек, отмеченных красным цветом.
Отредактировал свой предыдущий пост, сократив код.
|
всё работает до пары до времени вот скрин с логов
т.е. при копировании 120 файла обрыв связи и дальше не копируется
и так постоянно то на 100 то на 120 то нормально, хз почему, связь с провайдером по оптике, обрывы исключены, всё остальное нормально копируется без збоев на другие подобные ftp, а в этом вечный геморой (((((((

|
Время: 10:14.
© OSzone.net 2001-