cron รุ่น Windows คืออะไร [ปิด]


278

การค้นหาโดย Googleซอฟต์แวร์เปิดใช้งานที่ทำหน้าที่เหมือนกับ cron แต่ไม่มีสิ่งใดใน Windows

ฉันใช้ Windows XP Professional แต่คำแนะนำสำหรับ Windows ทุกรุ่นจะมีประโยชน์กับใครบางคน

นอกจากนี้ยังมีวิธีเรียกใช้คุณสมบัตินี้ (ซึ่งขึ้นอยู่กับคำตอบที่เรียกว่า Task Scheduler) โดยทางโปรแกรมหรือผ่านทางบรรทัดคำสั่ง?


5
cronคุณต้องการคุณสมบัติอะไรบ้างที่ Task Scheduler ไม่มี?
Chris Jester-Young

2
Cron ส่งอีเมล stdout และ stderr ให้กับผู้ใช้ - เราจะทำเช่นนั้นใน Task Scheduler ได้อย่างไร?
user3450049

@ user3450049: คุณสามารถเพิ่มงานในส่วนการกระทำเพื่อส่งบันทึกทางจดหมาย คุณสามารถใช้จาก Telnet หรือ Sendmail ได้ตามความสะดวกของคุณ ดูstackoverflow.com/questions/18652001/send-mail-via-cmd-console
0zkr PM

คำตอบ:


294

สำหรับคำถามเดิมถามเกี่ยวกับ Windows XP (และ Windows 7): Windows Task Scheduler

สำหรับการใช้งานบรรทัดคำสั่งคุณสามารถกำหนดเวลาที่มีคำสั่ง AT

สำหรับเวอร์ชันใหม่ของ Microsoft OS, Windows Server 2012 / Windows 8 ให้ดูที่ยูทิลิตี้บรรทัดคำสั่งschtasks
หากใช้ PowerShell Cmdlets ตามกำหนดการใน Windows PowerShellจะถูกสร้างขึ้นเพื่อการเขียนสคริปต์


12
ใน Windows 10 at.exeเลิกใช้แล้วและจะไม่ทำงาน schtasks.exeยากต่อการใช้งาน (เช่นจะไม่ทำงานหากไม่มีสิทธิ์ของผู้ดูแลระบบ) และบั๊ก (เช่น/Zสวิตช์)
Vlastimil Ovčáčík

แล้ว windows 7 ล่ะ
Tarik

@Tarik Windows 7 จะรองรับ Task Scheduler เช่นกัน
Kris Kumler

windows 7 cmd ของฉันมี AT และ schtasks มีความแตกต่าง / ความชอบ? ทำไมถึงมีทั้งคู่?
jiggunjer

7
Task Scheduler เป็นไฟทิ้งขยะที่เกิดจากชิ้นส่วนของซอฟต์แวร์ ทุกครั้งที่ฉันเปิดมีโอกาส 50/50 มันจะลดอัตราเฟรมสำหรับคอมพิวเตอร์ทั้งหมดลงไปที่ 3fps ในขณะที่พยายามโหลดมุมมองตารางของรายการที่ชอบ 6 รายการ
แมตต์เอ็ม


10

คำสั่ง 'at'

"คำสั่ง AT กำหนดเวลาคำสั่งและโปรแกรมให้ทำงานบนคอมพิวเตอร์ในเวลาและวันที่ที่ระบุบริการ Schedule ต้องทำงานเพื่อใช้คำสั่ง AT"


คิดค่าเสื่อมราคาใช้ schtasks.exe
keramat


10

pycronใกล้เคียงกันบน Windows รายการต่อไปนี้ได้รับการสนับสนุน:

1    Minute (0-59)
2    Hour (2-24)
3    Day of month (1-31)
4    Month (1-12, Jan, Feb, etc)
5    Day of week (0-6) 0 = Sunday, 1 = Monday etc or Sun, Mon, etc)
6    User that the command will run as
7    Command to execute

1
นี่ไม่ใช่เครื่องมือบรรทัดคำสั่ง อย่างที่ฉันเห็นมันแค่ตรวจสอบว่าเวลาปัจจุบันตรงกับการตั้งค่าของคุณ
มิ ธ ริล

นี่เป็นเพียงเครื่องมือแยกวิเคราะห์ แต่ไม่ได้ทำงาน
Kubuntuer82

8

นอกจากนี้ยังมีวิธีเรียกใช้คุณสมบัตินี้ (ซึ่งขึ้นอยู่กับคำตอบที่เรียกว่า Task Scheduler) โดยทางโปรแกรม [... ]?

API ตัวกำหนดเวลางานบน MSDN


7

งานที่ใกล้เคียงที่สุดคืองาน Windows Scheduled (แผงควบคุม -> งานที่จัดตารางเวลา) แม้ว่ามันจะห่างไกลจาก cron

ความแตกต่างที่ใหญ่ที่สุด (สำหรับฉัน) คือพวกเขาต้องการให้ผู้ใช้ลงชื่อเข้าใช้ในกล่อง Windows และบัญชีผู้ใช้ (ด้วยรหัสผ่านและทั้งหมด) ซึ่งทำให้ฝันร้ายหากนโยบายความปลอดภัยในพื้นที่ของคุณต้องเปลี่ยนรหัสผ่านเป็นระยะ ฉันคิดว่ามันมีความยืดหยุ่นน้อยกว่า cron เท่าที่จะตั้งค่าช่วงเวลาสำหรับรายการที่จะเรียกใช้


2
ในขณะที่ cron นั้นเหนือกว่างาน Windows แน่นอนคุณสามารถใช้บัญชี 'SYSTEM' ของคอมพิวเตอร์ซึ่งไม่ต้องใช้รหัสผ่านและได้รับอนุญาตเต็มรูปแบบกับคอมพิวเตอร์ในระบบ แม้ว่าจะมีปัญหาแน่ชัดถ้าคุณใช้ทรัพยากรภายนอก (เช่นไดรฟ์ที่ใช้ร่วมกันที่ต้องใช้เครดิตโดเมน)
Steve Bauman

@SteveBauman ที่สำคัญคือทรัพยากรในท้องถิ่น Windows อาจมีตัวกำหนดเวลางานที่ดีที่สุด แต่ถ้างานเหล่านั้นสามารถทำงานกับทรัพยากรในท้องถิ่นได้เท่านั้นมันไร้ประโยชน์ 100% ถ้าคุณต้องการทำสิ่งที่ง่ายเหมือนคัดลอกข้อมูลสำรองไปยังเครื่องคอมพิวเตอร์ตามกำหนดเวลา .
krowe2


6

ไม่ใช่รุ่น Windows แน่นอนว่าคุณสามารถใช้ crontab ของ Cygwin ได้ สำหรับการติดตั้งคำแนะนำโปรดดูที่นี่: ที่นี่


3
คำตอบนี้มี linkrot แต่คำถาม StackOverflow คุณเรียกใช้ crontab ใน Cygwin บน Windows ได้อย่างไร มีประโยชน์
Michael Scheper

6

ถ้าคุณชอบ ol 'cron ที่ดีCRONwเป็นวิธีที่จะไป

Supported systems

* Windows 2000 (any version)    works
* Windows XP (SP 2)             works
* Windows Server 2003           works
* Windows NT 4 (SP 6)           should work but not tested
* Windows 3.11, Windows 95,
  Windows 98, Windows ME,
  Windows XP beneath SP2        not supported by design

1
ฉันลองอันนี้และในที่สุดเมื่อฉันติดตั้งและลองทดสอบสิ่งที่ฉันได้รับก็คือข้อความนี้: We were asked to go - so I'm out finally...คำสั่งใด ๆ ที่ฉันลองส่งให้ฉัน WTF? โครงการนี้ไม่ทำงานอีกต่อไปหรือความหมายของข้อความนั้นคืออะไร? ขอบคุณ
Metafaniel

1
@Metafaniel ฉันไม่ได้มีระบบ Windows ในเวลาประมาณ 4 หรือ 5 ปีดังนั้นฉันจึงยังไม่ทันตั้งตัว Google ตอบสนองเพียงนำฉันไปที่หน้านี้และฉันไม่เห็นอะไรในเว็บไซต์ของพวกเขาเกี่ยวกับการปิดตัวลง ดูrepo ของ sourceforgeดูเหมือนว่ามันจะไม่เปลี่ยนแปลงในอีกประมาณหนึ่งทศวรรษดังนั้นฉันจึงสงสัยว่าบางทีอาจมีความขัดแย้งในระบบท้องถิ่นของคุณบ้าง? เมื่อพิจารณามานานแล้วตั้งแต่อัพเดตครั้งล่าสุดฉันจะบอกว่ามันไม่ทำงานอีกต่อไปแม้ว่ามันจะเป็นคำตอบที่แปลกจริงๆ
enobrev

1
@Metafaniel ฉันยังดาวน์โหลดและ grebase codebase สำหรับข้อความนั้นและไม่พบอะไรเลย ขอให้โชคดีในการหาว่าเกิดอะไรขึ้น!
enobrev

1
@Metafaniel ตามที่กล่าวไว้ในโพสต์สำหรับ Windows เกิน XP SP2 ไม่ได้รับการสนับสนุน
LoMaPh


2

นอกจาก Windows Task Scheduler คุณยังมี 'ที่' ใน Windows ฉันไม่แน่ใจว่ามันแตกต่างจาก Task Scheduler นอกเหนือจากข้อเท็จจริงที่ว่ามันมีอินเตอร์เฟซบรรทัดคำสั่ง



1
  1. คุณสามารถใช้ Scheduled-Tasks APIใน PowerShell พร้อมกับไฟล์ config.json สำหรับการป้อนพารามิเตอร์ ฉันเดาว่าข้อ จำกัด ขั้นต่ำคือ 5 นาที ตัวอย่างบทช่วยสอนสำหรับการสร้างตารางงานขั้นพื้นฐานผ่าน API

  2. คุณสามารถใช้ schtasks.exe ผ่านทาง cmd ได้เช่นกัน ฉันสามารถดูข้อ จำกัด ตัวแก้ไขนาทีถึง 1 นาทีในการดำเนินการ schtasks.exe / สร้าง /? Anyways AT เลิกใช้แล้ว

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตามฉันกำลังทำงานกับเครื่องมือที่จะทำงานเหมือน CRON ฉันจะอัปเดตที่นี่หากประสบความสำเร็จ


1

ตรวจสอบโปรแกรม Cronical ที่ยอดเยี่ยมที่https://github.com/mgefvert/Cronical

มันเป็นโปรแกรม NET ที่อ่านแฟ้มข้อความที่มีเส้น cron UNIX เหมือน สะดวกในการใช้ มันจะส่งอีเมลถ้า stdout เหมือนยูนิกซ์ cron มันยังรองรับการทำหน้าที่เป็นผู้ให้บริการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.