Prawidłowa odpowiedź dla dowolnej wersji systemu Windows wykonanej w ostatniej dekadzie (w tym dla systemu Windows XP określonego w pytaniu). Dzięki :-)
woot
W rzeczywistości czeka -1 - 99 999 sekund (~~ 1 dzień3,7h | windows7) - numer określony w /tOR dla naciśnięcia dowolnego klawisza - który można wyłączyć wysyłając /NOBREAKparametr :)
Polecenie ping będzie wykonywane przez 10 sekund, a wszystkie dane wyjściowe zostaną przekierowane do urządzenia NUL, co oznacza, że nie zobaczysz żadnych danych wyjściowych z polecenia ping. Działa to rzeczywiście tak, jak komenda „uśpienia”.
Edycja: Jak wspomniano w komentarzach, SLEEPnie będzie dostępna w normalnej instalacji. Będziesz potrzebować czegoś takiego jak Windows 2003 Resource Kit lub innej sztuczki, aby to zasymulować (sztuczka ping, o której wspomina Bruno), a notatki na ten temat można znaleźć tutaj .
Lub, jeśli chcesz, pobierz zestaw zasobów lub napisz prosty program do uśpienia 10. Moja metoda oznacza jednak, że możesz przenieść go na inną maszynę bez konieczności ponownego pobierania dodatkowego oprogramowania.
Nie sądziłem, że choiceprzyszedł z XP i później, a przynajmniej nie widziałem go w żadnych ostatnich instalacjach.
1
Używam waniliowej Vista Home Premium na tym laptopie i działa dobrze.
dla Windows XP nie ma „wyboru” !!!
kokbira
0
Zainstaluj Cygwin, który udostępni sleepi cronudostępni Ci (między innymi).
poniżej, jest to zarówno brzydki, jak i piękny sposób, plik wsadowy Windows - zajmuje dużo czasu procesora, aby nic nie robić, ale robi to, co chcesz i jest tak miły.
SETLOCAL EnableDelayedExpansion
::in seconds
set time2stop=10
:loop1
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour1=%%i
set min1=%%j
set sec1=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec1!") do (
set isec1=%%i
)
:loop2
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour2=%%i
set min2=%%j
set sec2=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec2!") do (
set isec2=%%i
)
set /a delta=3600*(!hour2!-!hour1!)+60*(!min2!-!min1!)+(!isec2!-!isec1!)
if !delta! geq !time2stop! goto end2
goto loop2
:end2
@echo on
goto loop1
innym sposobem jest wykonanie sekwencji pętli, na przykład powtarzanie (dla / l %% i w (1,1,65535) nie ustawia nic = 0) czasami i „kalibrowanie” „ile razy” trzeba powtórzyć wynik w 10 sekund, hahaha. ale to jest najbrzydszy sposób.
kokbira
można też tworzyć jakąś partię systemu Windows do korzystania jako funkcji czasu (od jednego do Splitu, jeden zrobić oczekiwania ...), ale będzie to bardziej skomplikowane ...
kokbira
Myślę, że spowoduje błąd, jeśli używasz go od 23:59:51 do 23:59:59 - w takim przypadku partia będzie czekać wiecznie ... trochę „jeśli” rozwiązałoby problem ...
kokbira
jeśli chcesz testować przez ustalony czas (nie czas + 10 sekund), możesz po prostu zrobić „jeśli% time% geq 10:30 mam goto”. rozwiązanie stało się skomplikowane, ponieważ suma ...
kokbira
To jest naprawdę okropne. Przede wszystkim zajęty czekaniem. niepotrzebne marnowanie cykli procesora nigdy nie jest dobrym pomysłem (chyba że na wbudowanym sprzęcie). To również nie działa poprawnie około północy.
Odpowiedzi:
to daje 10 sekund. opóźnienie:
więc spróbuj tego:
źródło
/t
OR dla naciśnięcia dowolnego klawisza - który można wyłączyć wysyłając/NOBREAK
parametr :)Spróbuj tego:
Polecenie ping będzie wykonywane przez 10 sekund, a wszystkie dane wyjściowe zostaną przekierowane do urządzenia NUL, co oznacza, że nie zobaczysz żadnych danych wyjściowych z polecenia ping. Działa to rzeczywiście tak, jak komenda „uśpienia”.
źródło
Edycja: Jak wspomniano w komentarzach,
SLEEP
nie będzie dostępna w normalnej instalacji. Będziesz potrzebować czegoś takiego jak Windows 2003 Resource Kit lub innej sztuczki, aby to zasymulować (sztuczka ping, o której wspomina Bruno), a notatki na ten temat można znaleźć tutaj .źródło
choice
że może nie być zawarte w standardzie. Przyjrzę się temu więcej.Bardziej precyzyjne rozwiązanie uruchom ping nieistniejącego hosta i ustaw limit czasu
Ale generuje ruch pasożytów
źródło
Możesz użyć poleceń
for
iping
:Możesz użyć,
ping -n [secs+1] localhost >nul
aby poczekać określony czas w sekundach.źródło
goto
.Oszukać:
Użyj tego polecenia, aby wstrzymać partia na 10 sekund
wybór / n / t: c, <10> / c: cc
Teraz umieść go w niekończącej się pętli w partii i voilà!
źródło
choice
przyszedł z XP i później, a przynajmniej nie widziałem go w żadnych ostatnich instalacjach.Zainstaluj Cygwin, który udostępni
sleep
icron
udostępni Ci (między innymi).źródło
poniżej, jest to zarówno brzydki, jak i piękny sposób, plik wsadowy Windows - zajmuje dużo czasu procesora, aby nic nie robić, ale robi to, co chcesz i jest tak miły.
źródło