At명령어를 씁니다.
예약작업을 하게 되면 백그라운드로 돌아가기 때문에..
어떠한 예약 작업이 보고 싶게 되면 /interactive 옵션을 줘서 뭐가 돌아가는지 볼수 있습니다.
At
지정된 시간과 날짜에 컴퓨터에서 명령과 프로그램을 실행하도록 예약합니다. 예약 서비스를 실행하는 경우에만 at 명령을 사용할 수 있습니다. 매개 변수 없이 사용하면 at은 예약된 명령의 목록을 표시합니다.
구문
at [\\ComputerName] [{[ID] [/delete]|/delete [/yes]}]
at [[\\ComputerName] Hours:Minutes [/interactive] [{/every:Date[,...] | /next:Date[,...]}] Command]
매개 변수
원격 컴퓨터를 지정합니다. 이 매개 변수를 생략하면 at은 명령과 프로그램을 로컬 컴퓨터에 예약합니다.
ID
예약된 명령에 지정될 ID 번호를 지정합니다.
/delete
예약된 명령을 취소합니다. ID를 생략하면 컴퓨터의 예약된 명령이 모두 취소됩니다.
/yes
예약된 이벤트를 삭제할 때 시스템의 모든 쿼리에 yes로 응답합니다.
Hours:Minutes
명령을 실행할 시간을 지정합니다. 시간은 24시간 표시법(00:00[자정]부터 23:59까지)에 따라 시:분으로 표시됩니다.
/interactive
명령이 실행될 때 로그온한 사용자의 데스크톱과 명령이 상호 작용할 수 있게 합니다.
/every:
매주 목요일 또는 매월 3일과 같이 매주 또는 매달 지정된 날짜에 명령을 실행합니다.
date
명령을 실행할 날짜를 지정합니다. 하나 이상의 요일(M,T,W,Th,F,S,Su 중에서 입력)을 지정하거나 하루 이상의 날짜(1에서 31일까지)를 지정할 수 있습니다. 날짜 항목이 여러 개인 경우 쉼표로 구분합니다. Date를 생략하면 at은 현재 날짜를 사용합니다.
/next:
다음 주 목요일과 같이 돌아오는 요일에 명령을 실행합니다.
명령
실행할 Windows 명령, 프로그램(.exe 또는 .com 파일) 또는 일괄 프로그램(.bat 또는 .cmd 파일)을 지정합니다. 명령에 인수로 경로가 필요하면 절대 경로, 즉 드라이브 문자로 시작하는 전체 경로를 사용합니다. 명령이 원격 컴퓨터에서 실행되면 원격 드라이브 문자 대신 서버와 공유 이름의 UNC(범용 명명 규칙) 표기법을 지정합니다.
/?
명령 프롬프트에 도움말을 표시합니다.
설명
· Schtasks는 예약된 작업을 만들고 관리하는 데 사용할 수 있는 또 다른 명령줄 예약 도구입니다. subtasks에 대한 자세한 내용은 관련 항목을 참조하십시오.
- At 사용
At 명령을 사용하려면 로컬 Administrators 그룹의 구성원이어야 합니다.
- Cmd.exe 로딩
At 명령은 명령을 실행하기 전에 명령 인터프리터인 Cmd.exe를 자동으로 로드하지 않습니다. 실행 파일(.exe)을 실행하고 있지 않으면 다음과 같이 명령을 시작할 때 Cmd.exe를 명시적으로 로드해야 합니다.
cmd /c dir > c:\test.out
- 예약된 명령 보기
명령줄 옵션 없이 at을 사용하면 예약된 작업이 다음과 같은 표 형식으로 나타납니다.
Status ID Day Time Command Line
OK 1 Each F 4:30 PM net send group leads status due
OK 2 Each M 12:00 AM chkstor > check.file
OK 3 Each F 11:59 PM backup2.bat
- ID 번호 포함
명령 프롬프트에서 at과 함께 ID 번호를 사용하면 단일 항목에 대한 정보가 다음과 같은 형식으로 나타납니다.
Task ID: 1
Status: OK
Schedule: Each F
Time of Day: 16:30:00
Command: net send group leads status due
특히 명령줄 옵션이 있는 명령인 at으로 명령을 예약한 후 명령줄 옵션 없이 at을 입력하여 명령 구문이 올바른지 확인합니다. 명령줄 열의 정보가 올바르지 않으면 명령을 삭제하고 다시 입력합니다. 그래도 올바르지 않으면 명령줄 옵션을 줄여 다시 명령을 입력합니다.
- 결과 보기
At으로 예약된 명령은 다른 작업을 처리하면서 실행됩니다. 결과는 컴퓨터 화면에 표시되지 않습니다. 결과를 파일로 리디렉션하려면 리디렉션 기호(>)를 사용합니다. 결과를 파일로 리디렉션하는 경우 at을 명령줄에서 사용하는지 아니면 배치 파일에서 사용하는지 여부와 관계없이 리디렉션 기호 앞에 이스케이프 기호(^)를 사용해야 합니다. 예를 들어 결과를 Output.text 파일로 리디렉션하려면 다음과 같이 입력합니다.
at 14:45 c:\test.bat ^>c:\output.txt
명령을 실행하는 현재 디렉터리는 systemroot 폴더입니다.
- 시스템 시간 변경
At 명령으로 실행할 명령을 예약한 후 컴퓨터에서 시스템 시간을 변경하면 옵션 없이 at을 입력하여 변경된 시스템 시간으로 at 스케줄러를 동기화합니다.
- 명령 저장
예약된 명령은 레지스트리에 저장됩니다. 따라서 예약 서비스를 다시 시작하면 예약된 작업이 손실되지 않습니다.
- 네트워크 드라이브에 연결
네트워크에 액세스하는 예약된 작업에 리디렉션된 드라이브를 사용하지 마십시오. 예약 서비스가 리디렉션된 드라이브에 액세스하지 못하거나 예약된 작업이 실행될 때 다른 사용자가 로그온하면 리디렉션된 드라이브가 나타나지 않을 수 있습니다. 대신 예약된 작업에는 UNC 경로를 사용합니다. 예를 들면 다음과 같이 지정합니다.
at 1:00pm my_backup \\server\share
다음 구문은 사용하지 마십시오. 여기서 x:는 사용자가 설정한 연결입니다.
at 1:00pm my_backup x:
공유 디렉터리에 연결하는 데 드라이브 문자를 사용하는 at 명령을 예약한 경우 드라이브 사용이 완료되면 드라이브 연결을 끊는 at 명령을 포함해야 합니다. 드라이브 연결이 해제되지 않으면 명령 프롬프트에서 지정된 드라이브 문자를 사용할 수 없습니다.
- 72시간 후 작업 중지
기본적으로 at 명령을 사용하여 예약된 작업은 72시간 후 중지됩니다. 레지스트리를 수정하여 이 기본값을 변경할 수 있습니다.
- 레지스트리 편집기(regedit.exe)를 시작합니다.
- 레지스트리에서 다음 키를 찾아 클릭합니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Schedule
- 편집 메뉴에서 값 추가를 클릭하고 다음 레지스트리 값을 추가합니다. 값 이름: AtTaskMaxHours, 데이터 형식: REG_DWORD, 기수: 10진수, 값 데이터: 0. 값 데이터 필드의 값 0은 작업을 중지하지 않는 무제한을 나타냅니다. 1에서 99 사이의 값은 시간을 나타냅니다.
·
- 레지스트리를 잘못 편집하면 시스템에 심각한 손상을 줄 수 있습니다. 레지스트리를 변경하기 전에 컴퓨터의 중요한 데이터를 백업해야 합니다.
- 작업 스케줄러 및 at 명령
예약된 작업 폴더를 사용하여 at 명령으로 만든 작업의 설정을 보거나 수정할 수 있습니다. At 명령을 사용하여 작업을 예약하면 해당 작업이 예약된 작업 폴더(예: At3478)에 나타납니다. 그러나 예약된 작업 폴더에서 at 작업을 수정하면 해당 작업은 예약된 일반 작업으로 업그레이드됩니다. 이 작업은 at 명령으로 더 이상 볼 수 없게 되고 at 계정 설정의 영향을 받지 않게 됩니다. 사용자는 작업에 대한 사용자 계정과 암호를 명시적으로 입력해야 합니다.
예
Marketing 서버에 예약된 명령 목록을 표시하려면 다음과 같이 입력합니다.
at \\marketing
Corp 서버에서 ID 번호가 3인 명령에 대한 자세한 내용을 보려면 다음과 같이 입력합니다.
at \\corp 3
Corp 서버에서 오전 8시에 net share 명령을 실행하도록 예약하고 목록을 Maintenance 서버, Reports 공유 디렉터리의 Corp.txt 파일로 리디렉션하려면 다음과 같이 입력합니다.
at \\corp 08:00 cmd /c "net share reports=d:\marketing\reports >> \\maintenance\reports\corp.txt"
5일 간격으로 자정에 Marketing 서버의 하드 드라이브를 테이프 드라이브로 백업하고 백업 명령이 포함된 Archive.cmd라는 일괄 프로그램을 만든 다음 일괄 프로그램이 실행되도록 예약하려면 다음과 같이 입력합니다.
at \\marketing 00:00 /every:5,10,15,20,25,30 archive
현재 서버에서 예약된 모든 명령을 취소하려면 다음과 같이 입력하여 at 예약 정보를 삭제합니다.
at /delete
실행 파일(.exe)이 아닌 명령을 실행하려면 다음과 같이 명령 앞에 cmd /c를 입력하여 Cmd.exe를 로드합니다.
cmd /c dir > c:\test.out