Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   как втавить паузу в bat фаил (http://forum.oszone.net/showthread.php?t=290312)

Alex_Foks 02-11-2014 09:13 2423487

как втавить паузу в bat фаил
 
Здравствуйте, есть ftp
есть скрипт, нужно скопировать с локальной машины(Win2003) на FTP
вот скрипт

сам бат
PHP код:

ftp.exe --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 миллисекунды, после каждого файлы

Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, из за этого батник вышибает ((((

Iska 02-11-2014 10:23 2423500

Цитата:

Цитата Alex_Foks
и при 150-200 копировании »

Переведите на русский.

Цитата:

Цитата Alex_Foks
постоянно вылитает ошибка »

Какая именно ошибка?

Цитата:

Цитата Alex_Foks
Всё из за того что хостер фри, и у него стоит ограничение на загрузку сети, »

Что за хостер? Что за ограничение — конкретно? Откуда получена эта информация?

Georgio 02-11-2014 12:58 2423564

Цитата:

Цитата 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


.

Iska 02-11-2014 13:29 2423574

Georgio, так и не любите пользовать «ping.exe» для паузы?

Georgio 02-11-2014 13:58 2423587

Iska, тут же речь идёт о двух миллисекундах. Правда, не понимаю, почему так мало.

Iska 02-11-2014 16:17 2423619

Georgio, приношу свои извинения, как-то недоглядел :(.

Alex_Foks 02-11-2014 18:18 2423658

расширение .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 02-11-2014 18:46 2423667

Цитата:

Цитата Georgio
Всё в одном пакетном файле »

Alex_Foks, ".bat", конечно.

Alex_Foks 02-11-2014 22:20 2423742

Спасибо за ответы ))))
объясните 2 строчки
echo ! cscript //nologo .vbs что эта делает ?
del .vbs и эта ?

PS а может поможете, доделать скрипт нужно ещё что бы перед этим заданием за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью

Georgio 03-11-2014 12:52 2423900

Цитата:

Цитата Alex_Foks
echo ! cscript //nologo .vbs »

Временный переход в оболочку и выполнение команды запуска ранее созданного временного VBS-файла.


Цитата:

Цитата Alex_Foks
del .vbs »

Удаление временного VBS-файла.


Цитата:

Цитата Alex_Foks
за 5-8 минут (можно сделать паузой) запускалась очистка папки(public_html/123) полностью »

Сделаю.

Alex_Foks 03-11-2014 13:28 2423913

спс всё понятно, приятно общаться (что редкость )

Georgio 05-11-2014 05:39 2424787

Код:

@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 2425142

не копирует файлы(на FTP ничего нет ((), я так понимаю при простое хостер обрывает соединение (((
можно как то поддержать это соединение, течении этих 8 минут ?

вот скрин


Iska 05-11-2014 20:53 2425176

Цитата:

Цитата Alex_Foks
я так понимаю при простое хостер обрывает соединение ((( »

Запросто.

Цитата:

Цитата Alex_Foks
можно как то поддержать это соединение, течении этих 8 минут ? »

Попробуйте сократить паузу. Например, восемь раз делайте (паузу на минуту + запрос «pwd»). Или паузы на полминуты и 16 раз «pwd».

Alex_Foks 05-11-2014 20:58 2425183

извините не осилю, олух я в этом ((((

Georgio 05-11-2014 23:36 2425256

Код:

@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 2425313

выходит ошибка


Georgio 06-11-2014 12:11 2425424

Цитата:

Цитата Alex_Foks
выходит ошибка »

Alex_Foks, в строке
Код:

  for /f "delims=" %%j in ('"dir /a-d/b "D:\123\*" 2>nul"') do @(
Вы забыли поставить одну из двух кавычек, отмеченных красным цветом.


Цитата:

Цитата Georgio
Код: »

Отредактировал свой предыдущий пост, сократив код.

Alex_Foks 07-11-2014 11:50 2425978

всё работает до пары до времени вот скрин с логов

т.е. при копировании 120 файла обрыв связи и дальше не копируется
и так постоянно то на 100 то на 120 то нормально, хз почему, связь с провайдером по оптике, обрывы исключены, всё остальное нормально копируется без збоев на другие подобные ftp, а в этом вечный геморой (((((((




Время: 10:14.

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