it-swarm-vi.com

Lịch trình công việc từ dòng lệnh Windows?

Trên Linux có cron job và at job. Có cách nào để sắp xếp công việc từ dòng lệnh trên Windows không?

Trình lập lịch tác vụ GUI không phải là thứ tôi đang theo đuổi. Tôi phải sửa đổi một tập lệnh để lên lịch một sự kiện theo một điều kiện nhất định ... vì vậy phải có cách gọi điều này từ dòng lệnh.

14
demetri

Windows cũng có một "tại nơi làm việc". Mặc dù cú pháp là một chút khác nhau.

C:\Documents and Settings\Administrator> at /?[.__.[The AT lệnh lên lịch các lệnh và chương trình để chạy trên máy tính vào [.__.] Một ngày giờ cụ thể. Dịch vụ Lịch biểu phải được chạy để sử dụng lệnh [.__.] Lệnh AT. [.__.] [.___/XÓA [/YES[[[.__.THERAT [\\ computername] time [/INTERACTIVE[[.__.] [/ MERYI: ngày [ ...] |/NEXT: ngày [ ...]] "lệnh" [.__.] [.__.]\Computername Chỉ định máy tính từ xa. Các lệnh được lên lịch trên máy tính cục bộ [.__.] Nếu tham số này bị bỏ qua. [.__.] Id Là số nhận dạng được gán cho lệnh [.__.]. [.__ . Nếu id bị bỏ qua, tất cả các lệnh [.__.] Trên máy tính sẽ bị hủy. [.__.]/Yes Được sử dụng với lệnh hủy tất cả các công việc khi không cần xác nhận [.__.] thời gian Chỉ định thời gian khi lệnh sẽ chạy. [.__.]/tương tác Cho phép công việc tương tác với máy tính để bàn của người dùng [.___ every: date [ ...] Chạy lệnh vào mỗi (các) ngày được chỉ định trong tuần hoặc [.__.] tháng. Nếu ngày bị bỏ qua, ngày hiện tại của tháng [.__.] Được giả sử. [.__.]/Next: date [ ...] Chạy lệnh được chỉ định vào lần xuất hiện tiếp theo của ngày [.__.] (ví dụ, thứ năm tới). Nếu ngày bị bỏ qua, [.__.] Ngày hiện tại của tháng được giả sử. [.__.] "Lệnh" Là lệnh Windows NT, hoặc chương trình bó sẽ được chạy.

Ví dụ:

at 9:00 /interactive notepad.exe

Điều này sẽ khiến Notepad mở tương tác cho người dùng lúc 9:00 sáng.

13
John T

Sử dụng lệnh scht nhiệm vụ . Nó có nhiều tùy chọn hơn lệnh at và một số tùy chọn Nice như /mo LASTDAY cho ngày cuối cùng của tháng:

scht task lên lịch các lệnh và chương trình để chạy định kỳ hoặc tại một thời điểm cụ thể. Thêm và xóa các tác vụ khỏi lịch trình, bắt đầu và dừng các tác vụ theo yêu cầu, hiển thị và thay đổi các tác vụ theo lịch trình.

Cú pháp:

[.__.] scht task/created/tn TaskName/tr TaskRun/sc calendar [/ mo modifier] [.__ st StartTime] [.__.] [/ sd StartDate] [/ ed EndDate] [/ s máy tính [/ u [.__ Tên miền \] Người dùng | "Hệ thống"} [/ rp Mật khẩu]] /? [.__.]
15
splattne

Viết kịch bản Windows Shell để thực hiện bằng chương trình ngủ để trì hoãn:

@echo off

:loop
someprogram args
sleep 900
if somecondition goto loop

Chạy nó trong một cửa sổ Shell của riêng nó. Cấu hình cmd.exe để chạy lên nguồn với tập lệnh này. sleep ngủ trong một vài giây:

#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;
}
1
Henrik