บน Linux มีงานcronและที่งาน มีวิธีกำหนดเวลางานจากบรรทัดคำสั่งบน Windows หรือไม่?
Task Scheduler GUI ไม่ได้เป็นสิ่งที่ฉันหลังจาก ฉันต้องแก้ไขสคริปต์เพื่อกำหนดเวลากิจกรรมตามเงื่อนไขที่แน่นอน ... ดังนั้นจึงต้องมีวิธีการเรียกสิ่งนี้จากบรรทัดคำสั่ง
บน Linux มีงานcronและที่งาน มีวิธีกำหนดเวลางานจากบรรทัดคำสั่งบน Windows หรือไม่?
Task Scheduler GUI ไม่ได้เป็นสิ่งที่ฉันหลังจาก ฉันต้องแก้ไขสคริปต์เพื่อกำหนดเวลากิจกรรมตามเงื่อนไขที่แน่นอน ... ดังนั้นจึงต้องมีวิธีการเรียกสิ่งนี้จากบรรทัดคำสั่ง
คำตอบ:
Windows ยังมี "ที่ทำงาน" แม้ว่าไวยากรณ์จะแตกต่างกันเล็กน้อย
C: \ Documents และ Settings \ Administrator> ที่ /?
คำสั่ง AT กำหนดเวลาคำสั่งและโปรแกรมให้ทำงานบนคอมพิวเตอร์ที่
เวลาและวันที่ที่ระบุ บริการ Schedule ต้องทำงานเพื่อใช้
คำสั่ง AT
ที่ [\\ ชื่อคอมพิวเตอร์] [[id] [/ DELETE] | / DELETE [/ YES]]
ที่ [\\ ชื่อคอมพิวเตอร์] เวลา [/ โต้ตอบ]
[/ ทุก: วันที่ [, ... ] | / NEXT: date [, ... ]] "command"
\\ computername ระบุคอมพิวเตอร์ระยะไกล คำสั่งถูกกำหนดเวลาไว้ใน
โลคัลคอมพิวเตอร์หากไม่ระบุพารามิเตอร์นี้
id คือหมายเลขประจำตัวที่กำหนดให้กับตารางเวลา
คำสั่ง
/ delete ยกเลิกคำสั่งที่กำหนดเวลาไว้ หากไม่ได้ระบุรหัสไว้
คำสั่งที่กำหนดเวลาไว้ในคอมพิวเตอร์จะถูกยกเลิก
/ ใช่ใช้พร้อมกับยกเลิกคำสั่งงานทั้งหมดเมื่อไม่มีเพิ่มเติม
ต้องการการยืนยัน
time ระบุเวลาที่คำสั่งจะทำงาน
/ แบบโต้ตอบอนุญาตให้งานโต้ตอบกับเดสก์ท็อปของผู้ใช้
ผู้ที่เข้าสู่ระบบในเวลาที่งานทำงาน
/ every: date [, ... ] เรียกใช้คำสั่งในแต่ละวันที่ระบุของสัปดาห์หรือ
เดือน. หากไม่ระบุวันที่วันที่ปัจจุบันของเดือน
จะถือว่า
/ next: date [, ... ] เรียกใช้คำสั่งที่ระบุในการเกิดขึ้นครั้งถัดไปของ
วัน (ตัวอย่างเช่นวันพฤหัสบดีหน้าถัดไป) หากไม่ระบุวันที่
วันปัจจุบันของเดือนจะถือว่า
"command" คือคำสั่ง Windows NT หรือโปรแกรมแบตช์ที่จะเรียกใช้
ตัวอย่าง:
at 9:00 /interactive notepad.exe
นี่จะทำให้Notepadเปิดให้ผู้ใช้โต้ตอบในเวลา 9.00 น. ในตอนเช้า
ใช้คำสั่งschtasks มีตัวเลือกมากกว่าatคำสั่งและตัวเลือกที่ดีเช่น/mo LASTDAYวันสุดท้ายของเดือน:
schtasksกำหนดเวลาคำสั่งและโปรแกรมให้ทำงานเป็นระยะหรือตามเวลาที่กำหนด เพิ่มและลบงานออกจากกำหนดเวลาเริ่มและหยุดงานตามต้องการและแสดงและเปลี่ยนแปลงงานที่กำหนด
ไวยากรณ์:
schtasks / create / tn TaskName / tr กำหนดตาราง TaskRun / sc [/ mo โมดิฟายเออร์]
[/ d วัน] [/ m เดือน [, เดือน ... ] [/ i IdleTime] [/ st StartTime]
[/ sd StartDate] [/ ed EndDate] [/ s คอมพิวเตอร์ [/ u
[domain \] รหัสผ่านผู้ใช้ / p]]
[/ ru {[Domain \] ผู้ใช้ | "ระบบ"} [/ รหัสผ่าน rp]] /?
เขียนเชลล์สคริปต์ Windows เพื่อทำโดยใช้โปรแกรม sleep เพื่อหน่วงเวลา:
@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;
}