Что нового

Установка паузы между командами в *.bat файле.

SET777

Новичок
Сообщения
51
Репутация
3
Доброго! Можно ли средствами Autoit устанавливать паузы определенного времени в bat файле? Т.е. есть батник в котором несколько команд и после запуска первой, скрипт приостанавливает выполнение на нужное время.
 

VladUs

Скриптер
Сообщения
621
Репутация
180
Не проще ли вставить в сам Bat - файл паузу.
Организовать ее можно с помощью пинга локального хоста.
У ping 1 секунда задержки равна 1 пинг по локальной сети.
Пример

Код:
@echo off
start notepad
ping -n 5 127.0.0.1 > NUL
start www.ya.ru
Сначало запускается Notepad и через 5 сек. браузер с адресной строкой "www.ya.ru"
Здесь -n - кол-во секунд задержки
Nul - не выводить результат
 
Автор
S

SET777

Новичок
Сообщения
51
Репутация
3
VladUs спасибо, тоже хороший вариант, но хотелось бы управлять временем задержки из Autoit скрипта.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
SET777
зачем?
если можно
1. все сделать с помощью батника
2. все сделать с помощью AutoIt
но зачем мешать их?
кстати, можешь привести текст своего батника? возможно его можно достаточно "нативно" перегнать в AutoIt
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Можно еще так:

Код:
@echo off

set sleeptime=3

echo Wait for %sleeptime% seconds...
call :Delay %sleeptime%
goto :EOF

:Delay
set /a tdelay=%1
:Wait0
set tms=%time:~-2%
:Wait1
if not %time:~-2% == 00 goto Wait1
:Wait2
if not %time:~-2% == %tms% goto Wait2
set /a tdelay-=1
if not %tdelay% == 0 goto Wait0
set tdelay=
set tms=
goto :EOF
 

Ganibal95

GreenBytes
Сообщения
876
Репутация
239
А зачем нужен бат? если есть:
Код:
_RunDos()
 

FlatX007

Tattoo!
Сообщения
197
Репутация
35
Код:
#NoTrayIcon

$aArray = StringSplit($CmdLineRaw, " ")
If IsArray($aArray) Then Sleep($aArray[1] * 1000)


После компиляции запускаем через BAT файл
Script.exe 10 - получаем паузу в размере 10 секунд

Подробнее в присоединённом файле ...
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 470
Репутация
2 401
FlatX007 [?]
Script.exe 10 - получаем паузу в размере 10 секунд
Так будет надёжнее:

Код:
@Echo Off

Echo Please wait 5 seconds...
Call Sleep 5
Echo Ok, now we exit...
Call Sleep 2

:Sleep
Start /Wait Sleep.exe %1
Sleep.exe это наш скрипт с паузой:
Код:
#NoTrayIcon

If $CmdLine[0] > 0 Then
	Sleep($CmdLine[1] * 1000)
EndIf
 
Верх