Что нового

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

SET777

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

VladUs

Скриптер
Сообщения
621
Репутация
181
Не проще ли вставить в сам 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
Репутация
623
SET777
зачем?
если можно
1. все сделать с помощью батника
2. все сделать с помощью AutoIt
но зачем мешать их?
кстати, можешь привести текст своего батника? возможно его можно достаточно "нативно" перегнать в AutoIt
 

Yashied

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

Код:
@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
Сообщения
877
Репутация
240
А зачем нужен бат? если есть:
Код:
_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,669
Репутация
2,463
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
 
Верх