Windows 명령 줄에서 작업을 예약 하시겠습니까?


15

리눅스가 크론 작업과 에서 작업. Windows의 명령 행에서 작업을 스케줄하는 방법이 있습니까?

작업 스케줄러 GUI 난 후 나는 것이 아니다. 특정 조건에 따라 이벤트를 예약하려면 스크립트를 수정해야합니다. 따라서 명령 줄에서이를 호출 할 방법이 있어야합니다.

답변:


13

Windows에는 "직장"도 있습니다. 구문은 약간 다릅니다.

C : \ Documents and Settings \ Administrator>에서 /?
AT 명령은 컴퓨터에서 명령 및 프로그램이 실행되도록 예약합니다.
지정된 시간과 날짜. 사용하려면 일정 서비스가 실행 중이어야합니다
AT 명령.

AT [\\ computername] [[id] [/ DELETE] | / 삭제 [/ YES]]
[\\ 컴퓨터 이름] 시간에 [/ 대화식]
    [/ EVERY : 날짜 [, ...] | / NEXT : 날짜 [, ...]] "명령"

\\ computername 원격 컴퓨터를 지정합니다. 명령은
                   이 매개 변수를 생략하면 로컬 컴퓨터
id 예약 번호에 지정된 식별 번호입니다
                   명령.
/ delete 예약 된 명령을 취소합니다. id를 생략하면 모든
                   컴퓨터의 예약 된 명령이 취소되었습니다.
/ yes 더 이상 없을 때 모든 작업 취소 명령과 함께 사용
                   확인이 필요합니다.
time 명령이 실행될 시간을 지정합니다.
/ interactive 작업이 사용자의 데스크톱과 상호 작용할 수 있도록합니다.
                   작업 실행시 로그온 한 사람
/ every : date [, ...] 지정된 각 요일에 명령을 실행하거나
                   달. 날짜를 생략하면 해당 월의 현재 날짜
                   가정합니다.
/ next : date [, ...] 다음에 나타날 때 지정된 명령을 실행합니다.
                   요일 (예 : 다음 목요일) 날짜를 생략하면
                   이 달의 현재 날짜가 가정됩니다.
"command"Windows NT 명령 또는 실행할 배치 프로그램입니다.

예:

at 9:00 /interactive notepad.exe

그러면 오전 9시에 사용자가 메모장 을 대화 형으로 열 수 있습니다 .


3
우리가 말하는대로 "at"는 더 이상 사용되지 않습니다. "schtasks"는 지금가는 길입니다. 아마도 당신은 정답을 바꿀 수 있습니다.
Marius

15

schtasks 명령을 사용하십시오 . at명령 보다 많은 옵션이 /mo LASTDAY있으며 달의 마지막 날 과 같은 멋진 옵션이 있습니다 .

schtasks는 명령 또는 프로그램이 주기적으로 또는 특정 시간에 실행되도록 예약합니다. 스케줄에서 태스크를 추가 및 제거하고 요청시 태스크를 시작 및 중지하며 스케줄 된 태스크를 표시 및 변경합니다.

통사론:

schtasks / create / tn TaskName / tr TaskRun / sc 일정 [/ mo 한정자]
         [/ d day] [/ m month [, month ...] [/ i IdleTime] [/ st StartTime] 
         [/ sd StartDate] [/ ed EndDate] [/ s 컴퓨터 [/ u 
         [도메인 \] 사용자 / p 비밀번호]] 
         [/ ru {[도메인 \] 사용자 | "시스템"} [/ rp 암호]] /?

1

잠자기 프로그램을 사용하여 지연시키기 위해 Windows 쉘 스크립트를 작성하십시오.

@echo off

:loop
someprogram args
sleep 900
if somecondition goto loop

자체 쉘 창에서 실행하십시오. 이 스크립트를 사용하여 전원을 켤 때 cmd.exe를 구성하십시오. sleep몇 초 동안 잠을 잔다 :

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
    int n = atoi(argv[1]);

    Sleep(n * 1000);

    return 0;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.