Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» таймер для .bat файла

Автор: BigBear
Дата сообщения: 25.03.2004 07:39
проблемма в следюющем
в связке w2k + terminal server + citrix валится спулер печати (насмерть)
решение:
1. останавлтваем спулер (на всякий случай- он не всегда показывает что он остановлен)
net stop spooler
2. очищаем папку спулера
del /f /q C:\WINNT\system32\spool\*.*
3. стартуем спулер
net start spooler
пишем соответствующий батник и в свойствах сервиса указываем что при ошибке запускать нужный файл

НО если между камандами нет паузы в 10-20 секунд - фокус не проходит
файлы заняты системой

А теперь вопрос -)?

как в камандной строке запустить таймер между командами
Автор: Akama
Дата сообщения: 25.03.2004 07:43
напиши софтинку, на любом языке, да включай в батник. я так и сделал. могу поделиться, если нужно очень.
Автор: BigBear
Дата сообщения: 25.03.2004 07:50
Akama
Спасибо не откажусь!!
melex@mail.ru
P.S. с написанием проблеммы у меня -(((((
Еще раз спасибо
Автор: Cheery
Дата сообщения: 25.03.2004 07:59
BigBear

Цитата:
как в камандной строке запустить таймер между командами

например вставляя..
ping -n 5 localhost > nul
5 секунд задержки..
либо такой код на vbs. файл называется 2Kwait.cmd

Код:
:: 2Kwait.cmd
@echo off
:: Wait %1 seconds

:: setup variables for the batch
setlocal
set vbscript=%temp%\~%~n0.vbs
set vbrun=cscript /NoLogo "%vbscript%"


::write script - only need be done once
:: watch %% for each %, ^& for &, ^| for |, etc ...
>"%vbscript%" echo ' Temporary script for %0
>>"%vbscript%" echo WScript.Sleep Wscript.arguments(0) * 1000 - 200


:: Continue with script as normal, using "%vbrun% seconds" as often as you like to pause a number of seconds.


:: EXAMPLE assuming script is called as the wait command - %1 is number of seconds to wait
:: One second is lopped off for overhead of writing the script the first time, and deleting it after done
:: although overhead is much less than that
:: default is 5 seconds
set /a zwait=%1 - 1
if "%1"=="" set zwait=4
if %zwait% LSS 1 set zwait=1
:: Actual wait happens here
%vbrun% %zwait%


:: uncomment next line to delete script when done
del "%vbscript%"

:: Can be moved into path and given a reasonable name to run from any future batch or Windows program.
Автор: BigBear
Дата сообщения: 25.03.2004 08:05
Cheery
Сейчас буду пробовать
Спасибо

Добавлено
все вроде работает
буду ждать падение спулера (а это неизбежно)
там и посмотрим окончательно
Автор: ZevSforum
Дата сообщения: 25.03.2004 13:10
Ибо команда
ping -n 5 localhost > nul
лучше, сам у себя использую
Автор: nightlight
Дата сообщения: 25.03.2004 13:51
BigBear
Что-то не нндравятся мне длинные файлы сценариев...
Может как-нибудь попроще...
Например:
в Resourсe Kit ( "Highly Recommended" )есть утилитка-> sleep n, где n -время в секундах.

Или накрайняк пишем такой mysleep.cmd файлик:

@echo off
echo WScript.sleep(%1); > %temp%\sleep.js
cscript //B %temp%\sleep.js
del /Q %temp%\sleep.js

Использование:
mysleep n
где n -время в миллисекундах.
Автор: Balancer
Дата сообщения: 25.03.2004 15:18
perl -e "sleep N;"

Автор: BigBear
Дата сообщения: 26.03.2004 07:22
Все работает и самый простой вариант с пингами!!!! и с самописной прогой
тепер время подобрать осталось
Автор: Aleksanders
Дата сообщения: 26.03.2004 16:42
BigBear
По-моему, спулер - это системный сервис. В свойствах сервиса пощелкай закладки, там есть настройка восстановления сервиса. Если есть желание, можно записать туда батник, который запускался бы при падении сервиса, или просто тупо его рестартовать.
Автор: Cheery
Дата сообщения: 27.03.2004 00:50
Aleksanders

Цитата:
В свойствах сервиса пощелкай закладки, там есть настройка восстановления сервиса. Если есть желание, можно записать туда батник, который запускался бы при падении сервиса, или просто тупо его рестартовать.

хм.. смотрим первый пост и ..

Цитата:
пишем соответствующий батник и в свойствах сервиса указываем что при ошибке запускать нужный файл

иногда лучше молчать, чем говорить..
Автор: merlkerry
Дата сообщения: 27.03.2004 14:54
Вариант с ping очень неплох , лучше чем VBScript -потому как память совсем не кушает.
И конечно выигрывает у ResKit SLEEP - потому как к примеру на 2000-й сервер, sleep нет в свободной загрузке, а значит для борцов за честное ПО не подходит .
Автор: sayanvd
Дата сообщения: 10.04.2006 11:37
Недавно возникла необходимость вставить в .bat файл паузу на заданное число секунд, нашел в инете следующее решение без привлечения внешних программ.

"...вариант, который работает всегда и со всеми значениями от 1 до 999 секунд:

@Echo Off

SetLocal EnableExtensions EnableDelayedExpansion

If "%1"=="" Exit
If %1 LSS 0 GoTo :EOF
If %1 GTR 999 GoTo :EOF

Set pDelay=%1
Set iDelay=0
Set pTime=%Time:~7,1%

:WAIT
Set iTime=%Time:~7,1%
If %iTime% == %pTime% GoTo :WAIT
Set pTime=%iTime%
Set /a iDelay=%iDelay%+1
If %iDelay% LSS %pDelay% GoTo :WAIT

EndLocal
"

Страницы: 1

Предыдущая тема: Два домена в Exchange


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.