บน 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;
}