Что нового

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

Yashied

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

Код:
@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,671
Репутация
2,481
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
 

soser_frpost55

Новичок
Сообщения
3
Репутация
0
FlatX007 [?]

Так будет надёжнее:

Код:
@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
Привет, совершенно не разбираюсь в кодах, подскажите как правильно поставить паузу в скрипт,

$oPath.CopyHere($oZip.Items, 16)

что именно сюда вставить необходимо? Sleep() - только это или что-то еще?

RunWait()
 

All2khoff

Продвинутый
Сообщения
351
Репутация
65
Привет, совершенно не разбираюсь в кодах
Добрый день.
В первую очередь вам стоит ознакомиться со справкой и с темами форума на схожую тему
Далее если у вас возник вопрос не относящийся к конкретной теме(в том числе эту), необходимо создать новую тему и там расписать свой вопрос.
Если у вас встал вопрос и вы хотите чтобы код был написан за вас, то вам необходимо обратиться в "стол заказов"(бесплатно но от вас потребуется на всеобщее обозрение выложить имеющийся код или подробно расписать задачу в посте) или в "профессиональную деятельность"(где вы сможете описать задачу в общих чертах и найти исполнителя который за денюжку сделает вам что требуется).
 
Верх