Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Задержка в бат файле, помогите 
:(
    Опции темы
RinOSpro
Дата 22.10.2007, 10:27 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте подскажите как можно реализовать задержку в бат файле?
  Вверх
Akina
Дата 22.10.2007, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



переписАть его на VBS


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Rodman
Дата 22.10.2007, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 3
Всего: 122



PM MAIL WWW Skype GTalk YIM MSN   Вверх
RinOSpro
Дата 22.10.2007, 13:15 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В общем решение такое но тут есть недостаток после прехода goto sleep: она не возращается к месту вызова. а если принудительно заставить вернуться  goto back: то получается зацикливание. как здесь можно сделать возврат помогите.

Код

echo off

echo 1

set timesleep=3
goto sleep:

:back

echo 2

:sleep
if %timesleep%==1 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO echo %%a
)

if %timesleep%==2 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%b in (0,1,2,3,4,5,6,7,8,9) DO echo %%a %%b
)
)

if %timesleep%==3 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%b in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%c in (0,1,2,3,4,5,6,7,8,9) DO echo %%a %%b %%c
)
)
)

goto back:

  Вверх
Akina
Дата 22.10.2007, 13:35 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Цитата(RinOSpro @  22.10.2007,  14:15 Найти цитируемый пост)
В общем решение такое 

ЭТО - РЕШЕНИЕ???


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dumb
Дата 22.10.2007, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



Цитата(Akina @  22.10.2007,  14:35 Найти цитируемый пост)
ЭТО - РЕШЕНИЕ???
+1

вот решение:
Код

@echo off
:: пример вызова процедуры задержки
echo %TIME%
:: спать пять секунд
call :sleep 5
echo %TIME%
pause
goto :EOF

:sleep
setlocal
set /a delay=%1+1
ping 127.0.0.1 -n %delay% >nul 2>&1
endlocal
goto :EOF

PM MAIL   Вверх
RinOSpro
Дата 22.10.2007, 14:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ДА ЭТО РЕШЕНИЕ!!! Вот доработанный вариан спасибо за наводку с калом )). И мой вариант поточне чем ping в 1 секунду. Мне нужны были милисекунды, и я их получил. Если в этом примере вы думайте чтото можно усовершенствовать, советуйте не стесняйтесь.

Код

echo off

echo %TIME%

call :sleep 4

echo %TIME%

pause

:sleep
setlocal
if %1==1 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO @echo %%a
)

if %1==2 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%b in (0,1,2,3,4,5,6,7,8,9) DO @echo %%a %%b
)
)

if %1==3 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%b in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%c in (0,1,2,3,4,5,6,7,8,9) DO echo %%a %%b %%c
)
)
)

if %1==4 (
FOR %%a in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%b in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%c in (0,1,2,3,4,5,6,7,8,9) DO (
FOR %%d in (0,1,2,3,4,5,6,7,8,9) DO echo %%a %%b %%c %%d
)
)
)
)
endlocal

  Вверх
Akina
Дата 22.10.2007, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



Ну попробовал я запустить этот шедевр...:

Цитата

E:\>1

E:\>echo off
15:20:53,27
0 0 0 0
0 0 0 1
0 0 0 2
..... пропущено, есссно .....
9 9 9 8
9 9 9 9
15:20:55,35
Для продолжения нажмите любую клавишу . . .
Непредвиденное появление: (.

E:\>

Я уж не говорю о том, что вывод 10 тыс. строк с цифрами - это песня...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dumb
Дата 22.10.2007, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



Цитата(RinOSpro @  22.10.2007,  15:13 Найти цитируемый пост)
ДА ЭТО РЕШЕНИЕ!!!
это бред, который зависит от быстродействия компа. если нужны доли секунды, то нужно делать .exe.
PM MAIL   Вверх
RinOSpro
Дата 22.10.2007, 14:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











dumb,  Akina короче ваш пример и с мс работает call :sleep 0,3

  Вверх
dumb
Дата 22.10.2007, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



Цитата(RinOSpro @  22.10.2007,  15:33 Найти цитируемый пост)
короче ваш пример и с мс
smile
пинг делает задержку между посылками пакетов четко в 1с. количество секунд задается через указание количества отсылаемых пакетов, которое может быть только целым.
при вызове "call :sleep 0,3" пинг просто выругивается на недопустимость параметра, но так как стоит подавление вывода, ты этого не видишь.
PM MAIL   Вверх
RinOSpro
Дата 22.10.2007, 14:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











но time точно такой какой мне нужно 
15:55:00,55
15:55:00,59 
  Вверх
Akina
Дата 22.10.2007, 17:50 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 42
Всего: 454



dumb, да чего мы... устраивает - и пусть использует. Вот когда оно (прикинь - вдруг!) начнет работать неправильно - сделаем вторую итерацию.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.1196 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.