10 초마다 배치 파일을 수행하십시오.


24

배치 파일이 있습니다.

arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns

Windows XP에서 10 초마다이 두 명령을 어떻게 수행 할 수 있습니까?


3
Windows 예약 된 작업을 사용하여 1 분에 한 번 다운로드 할 수 있습니다.

Windows 배치로 가능합니다. 아래 솔루션을 참조하십시오. 유일한 문제는 CPU 사용입니다 ...
kokbira

답변:


36

10 초가 걸립니다. 지연:

timeout /t 10

그래서 이것을 시도하십시오 :

 :loop
 arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
 ipconfig /flushdns
 timeout /t 10
 goto loop

1
지난 10 년 동안 만들어진 모든 Windows 버전에 대한 정답 (질문에 지정된 Windows XP 포함) 감사합니다 :-)
woot

실제로 대기 -1 - 99,999 초 (~~ 1day3,7h | Windows7의) -에 지정된 숫자 /t또는 어떤 키를 누르면 위해를 - 전송으로 해제 할 수 /NOBREAKPARAM :
jave.web을

19

이걸로 해봐:

:loop
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping localhost -n 11 > nul
goto loop

ping 명령은 10 초 동안 실행되며 모든 출력이 NUL 장치로 리디렉션되므로 ping 명령의 출력이 표시되지 않습니다. 실제로 "절전"명령으로 작동합니다.


11
:top
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
sleep 10
goto top

편집 : 의견에서 언급했듯이 SLEEP일반 설치에서는 사용할 수 없습니다. Windows 2003 Resource Kit와 같은 것이 필요하거나 시뮬레이션을위한 다른 트릭 (Brun이 언급 한 핑 트릭)이 필요하며 여기 에서 참고할 수 있습니다 .


6
수면은 기본적으로 포함되어 있지 않습니다. 이것을 얻으려면 리소스 키트 또는 무언가가 필요합니까?
marcc

정확히 무엇이 필요합니까?

그렇지 않습니까? 나는 그것을 믿을 수 있다고 맹세 할 수는 있지만 choice표준에 포함되지 않은 것 같습니다 . 좀 더 살펴 보겠습니다.

1
잠자기 명령을 "가짜"위해 창에 다른 것을 설치할 필요가 없습니다. 예를 들어 내 대답을 살펴보십시오.

1

존재하지 않는 호스트를 한 번 핑하고 시간 초과를 설정하는보다 정확한 솔루션

핑 1.0.0.0 -n 1 -w 10000> nul

하지만 기생충 교통량을 생성합니다


1

forand ping명령을 사용할 수 있습니다 :

@echo off
for /l %%a in (0,0,0) do (
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
ping -n 11 localhost >nul
)

ping -n [secs+1] localhost >nul특정 시간 (초) 동안 대기하는 데 사용할 수 있습니다 .


1
다른 답변에서 제안 된 것과 동일한 ping 명령보다 왜 이것이 더 낫습니까?
RalfFriedl

공평하게, 이것은을 사용하지 않고 무한 루프를 수행하는 방법을 보여주는 첫 번째 대답입니다 goto.
스캇

0

사기:

배치를 10 초 동안 일시 중지하려면이 명령을 사용하십시오.

선택 / n / t : c, <10> / c : cc

이제 배치의 끝없는 루프에 배치하십시오!


1
또는 원하는 경우 리소스 키트를 다운로드하거나 잠자기 10 간단한 프로그램을 작성하십시오. 그러나 내 방법은 더 많은 소프트웨어를 다시 다운로드하지 않고도 다른 컴퓨터로 옮길 수 있음을 의미합니다.

choiceXP와 함께 제공 되지 않았다고 생각 했거나 적어도 최근 설치에서 보지 못했습니다.

1
이 랩톱에서 바닐라 비스타 홈 프리미엄을 실행 중이며 정상적으로 작동합니다.

Windows XP에는 "선택"이 없습니다 !!!
kokbira

0

Cygwin 을 설치 sleep하여 cron사용할 수있게하십시오 (다른 것들 중에서).


2
그가 요구하는 것에 대한 과잉!

-1

아래는 추악하고 아름다운 Windows 배치 파일입니다. 아무것도하지 않으려면 많은 CPU 시간이 소비되지만 원하는 것을하고 훌륭합니다.

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

또 다른 방법은 루프 시퀀스를 수행하는 것입니다. 예를 들어 ((1,1,65535에서 / l %% i의 경우 = 0을 설정하지 않음 =) 몇 번) 테스트를 반복해야하는 "캘리브레이션" 결과는 10 초입니다. 그러나 가장 추한 방법입니다.
kokbira

함수로 사용할 Windows 배치를 만들 수도 있고 (하나는 시간을 나누고, 하나는 대기를하기 위해 ...) 더 복잡 할 것입니다.
kokbira

23:59:51에서 23:59:59까지 사용하면 버그가 발생한다고 생각합니다.이 경우 배치가 영원히 대기합니다. 일부 "만약"이면 문제가 해결 될 것입니다.
kokbira

고정 된 시간 (시간 +10 초 아님)을 테스트하려면 "% time % geq 10:30 do goto end"를 수행하면됩니다. 합이 복잡해지면서 솔루션이 복잡해
졌습니다

실제로 끔찍합니다. 우선, 바쁘게 기다리고 있습니다. 불필요하게 CPU주기를 낭비하는 것은 좋은 생각이 아닙니다 (내장 하드웨어가 아닌 한). 자정에는 제대로 작동하지 않는 것 같습니다.
Joey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.