을 폴더
시작하고 사용하지 입고 싶은 schtasks
명령의 하위 명령은 작업을 예약합니다. schtasks
은 예약 된 작업을 관리하고 만들 수있는 명령입니다. /create
하위 명령은 예약 된 작업을 만듭니다.
요청에 대한 해결책을 제공하기 전에 명령에 대해 schtasks /create /?
또는 link을 추가하여 Windows 도움말 메시지를 읽는 것이 좋습니다. 둘 다 예약 된 작업을 만들 때 사용할 수있는 다양한 옵션에 대한 설명을 제공하고 몇 가지 예를 제공합니다. 예약 된 작업을 쉽게 만들 수 있지만 문제가 발생할 때 (예 : 실제로 원하는 방식으로 구성되지 않은 경우) 문제를 찾고 해결하는 것이 어려울 수 있습니다. 귀하의 경우를 들어
이 같은 것 할 수있는 가장 쉬운 방법 : 작업을 생성합니다
SCHTASKS /create /tn "Curfew" /tr "C:\Windows\System32\shutdown.exe /s /f" /sc daily /st 22:00
이를 그 것이다 종료 시스템 오후 10시에 매일.
편집 : 명령의 설명 :
/tn
옵션은 /tr
옵션
- 을 실행하는 작업이이 명령을 지정하는 데 사용되는 예약 된 작업
- 에 이름을 제공합니다
/sc
옵션은 작업 빈도를 지정합니다.
/st
옵션은 작업이 어느 일정에 있어야하는지 지정합니다 이러한 옵션 및 명령 자체에 대한 자세한 설명은
다시, 에드, 일정 유형의 몇 가지 유용한 예를 찾을 수있는 link
를 도움말 메시지 (schtasks /create /?
)을 읽고 따르십시오 here
편집 2 : 그것은 10.PM 및 06.AM 사이에 시작 된 경우 셧다운 시스템에 대한 작업은
당신은 박쥐가 필요합니다 (comment OP 참조)
이
@echo off
REM Get current timestamp from system
FOR /F "tokens=2 delims==." %%G in ('wmic os get LocalDateTime /VALUE') DO set timestamp=%%G
REM Extract hours from timestamp
set hour=%timestamp:~8,2%
REM Verify if hour >= 22 or hour < 6
set shutdown=
IF %hour% GEQ 22 set shutdown=true
IF %hour% LSS 6 set shutdown=true
REM Shutdown system if so
IF "%shutdown%" == "true" shutdown /s /f
그것은 ISO 형식으로 될 수있는 장점을 가지고 있기 때문에 대신 %time%
의 현재 타임 스탬프를 얻을 수 wmic os LocalDateTime
를 사용하고 의존하지 않습니다 그것은 10.00 시부 터 오전 6시 사이 일 때 시스템을 종료 채널 스크립트 % time %와 같은 로케일 설정에서 (this answer 참조). 예를 들어, 배치 스크립트로 저장하십시오. 원하는 경우 C:\Windows\Curfew_police.bat
또는 "덜 분명한"이름으로 지정해야하지만 시스템의 모든 사용자가 스크립트에 액세스 할 수 있어야합니다.그럼 당신은 /sc onstart
과 스크립트를 시스템이 시작될 때마다 실행하는 작업을 예약 할 수 있습니다. (예 : 대한 C:\Windows\Curfew_police.bat
)
schtasks /create /tn "Curfew police" /tr "\"c:\path\to script\batch.bat\"" /sc onstart
위의 배치 스크립트에 대한 실제 경로로 c:\path\to script\batch.bat
교체를
이 작업에는 VBScript가 필요하지 않습니다. 난 배치 스크립트 ** 또는 ** 작업 일정 잘 작동 믿습니다. – SteveFest
배치 파일 또는 vbs 할 것이다하지만 내 문제는 .bat 및 .vbs 코딩을 알 수 없습니다. –
작업 스케줄러는 어떻습니까? 코딩은 필요하지 않습니다. – SteveFest