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

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

Ответить
Настройки темы
CMD/BAT - как втавить паузу в bat фаил

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


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

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


Изменения
Автор: Alex_Foks
Дата: 02-11-2014
Здравствуйте, есть 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 миллисекунды, после каждого файлы

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

Отправлено: 09:13, 02-11-2014

 

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


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

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


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

Последний раз редактировалось Alex_Foks, 03-11-2014 в 19:00.


Отправлено: 13:28, 03-11-2014 | #11



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

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


Ветеран


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

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


Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:39, 05-11-2014 | #12


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


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

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


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

вот скрин


Отправлено: 19:35, 05-11-2014 | #13


Ветеран


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

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


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

Цитата Alex_Foks:
можно как то поддержать это соединение, течении этих 8 минут ? »
Попробуйте сократить паузу. Например, восемь раз делайте (паузу на минуту + запрос «pwd»). Или паузы на полминуты и 16 раз «pwd».
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:53, 05-11-2014 | #14


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


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

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


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

Отправлено: 20:58, 05-11-2014 | #15


Ветеран


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

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


Код: Выделить весь код
@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

Последний раз редактировалось Georgio, 06-11-2014 в 12:06. Причина: сокращенме кода.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:36, 05-11-2014 | #16


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


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

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


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


Отправлено: 07:38, 06-11-2014 | #17


Ветеран


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

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


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


Цитата Georgio:
Код: »
Отредактировал свой предыдущий пост, сократив код.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:11, 06-11-2014 | #18


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


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

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


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

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



Отправлено: 11:50, 07-11-2014 | #19



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] C FTPсервера невозможно bat-фаилом забрать фаил. Sharik987 Microsoft Windows NT/2000/2003 3 27-09-2012 15:13
Как сделать паузу в серверном скрипте ASP Sanchez-of-Tula Вебмастеру 2 19-11-2009 03:15
Как задать паузу между аудиотреками? Mirex Видео и аудио: обработка и кодирование 5 15-03-2008 22:06
вебстраничка как фаил irik Вебмастеру 2 17-04-2004 04:42
Как паузу поставить при загрузке ? Kudryavcev Dmitry Общий по Linux 12 09-09-2003 00:52




 
Переход