ตัวกำหนดเวลางาน Windows ที่มีวันเฉพาะไม่รวมวันหยุดสุดสัปดาห์


0

ด้วย Windows Task Sheduler ฉันต้องทำงานซึ่งจะถูกดำเนินการในวันที่ 6 ของทุกเดือนยกเว้นวันหยุดสุดสัปดาห์ หากวันที่ 6 เป็นวันหยุดสุดสัปดาห์งานจะถูกดำเนินการในวันจันทร์ (วันที่ 7 หรือวันที่ 8) ฉันคาดว่าจะทำสองกฎด้วย AND ตรรกะที่หนึ่งอนุญาตให้ Mo-Fr ที่ 1 และที่สองไม่อนุญาตวันที่ 1-5 แต่ไม่ได้รับการสนับสนุน

ฉันทำบางสิ่งขาดหายไปหรือวิธีแก้ปัญหานี้ได้อย่างง่ายดายโดยไม่ต้องติดตั้งซอฟต์แวร์บุคคลที่สามขนาดใหญ่หรือไม่?

ฉันพบ DOS / Windows cmd date ไม่สามารถแยกวิเคราะห์วันที่ได้ดังนั้นฉันจึงไม่สามารถเปรียบเทียบผลลัพธ์ได้ดังนั้น PowerShell (ยังไม่เคยใช้) หรือ cygwin สามารถแก้ปัญหาได้ แต่ดูเหมือนว่าสกปรกมากที่จะเรียกยูนิกซ์สภาพแวดล้อมสำหรับตรวจสอบวันที่ แอปพลิเคชัน win32 อีกครั้ง


กรุณาอธิบาย downvotes ของคุณ!
dmnc

คำตอบ:


1

ฉันขอโทษฉันไม่สามารถให้รหัสที่แน่นอนได้เนื่องจากฉันทำงานกับเวลา / ทรัพยากรที่ จำกัด แต่ฉันเชื่อว่าฉันมีทางออกของคุณ

จัดกำหนดการสคริปต์ชุดงานทุก 6 เดือน ชุดนี้จะแยกคำสั่ง 'date / T' จากบรรทัดคำสั่ง

หากวันที่ 3 จดหมายจาก "date" = จันทร์, อังคาร, พุธ, พฤหัสบดี, ศุกร์ ... รันภารกิจของคุณ
หากวันที่ 3 จดหมายจาก "date" = Sat ให้ทำงานของคุณด้วยความล่าช้า 48 ชั่วโมง (อาจต้องแยกงานด้วยความล่าช้านี้)

เช่นเดียวกันกับ 'Sun' แต่คุณจะต้องล่าช้า 24 ชั่วโมง
ฉันหวังว่าสิ่งนี้จะนำคุณไปสู่หนทางแก้ไขของคุณ

แก้ไข: คุณต้องการสิ่งนี้ในวันที่! http://www.dostips.com/DtTipsStringManipulation.php#Snippets.LeftString


+1 สำหรับลิงก์นั้นการจัดการสตริงของ DOS สามารถแก้ปัญหานี้ได้
dmnc

1

ใช้ Powershell หรือ VBA เป็นเป้าหมายงานของคุณและกำหนดเวลางานให้ทำงานทุกวัน

แนวคิดของ PowerShell เพื่อให้คุณเริ่มต้น:

$dayName = Get-Date -Format dddd
$dayNum = Get-Date -Format dd

if (($dayNum -eq "06" -and $dayName -ne "Saturday" -and $dayName -ne "Sunday") -or ($dayName -eq "Monday" -and ($dayNum -eq "07" -or $dayNum -eq "08"))) { 
    RunTask()
}

สวยและสะอาด ...
dmnc

-1

คุณอาจต้องการตรวจสอบรายละเอียดของคำสั่ง SchTasks ใน Windows (ลิงค์ด้านล่าง) อนุญาตให้มีตัวเลือกการกำหนดค่าจำนวนมากซึ่งควรตอบสนองวัตถุประสงค์ของคุณได้ดี ดูตัวเลือก / mo และ / d โดยเฉพาะ

http://technet.microsoft.com/en-us/library/cc772785(v=ws.10).aspx


คุณสามารถให้คำสั่งตัวอย่าง? เพราะอย่างที่ฉันบอกไปนี่อาจเป็นไปไม่ได้ในตัวกำหนดตารางเวลางานสต็อก โปรดปรับปรุงคำตอบของคุณมิฉะนั้นจะเป็นการลดลง
dmnc

ฉันไม่ได้ล้อเล่น นี่คือตัวอย่าง? ไวยากรณ์ของ C / P? ด้วยตัวอย่างที่ฉันหมายถึงชิ้นงานของ 'รหัส' และการทำงานฉันหมายถึงการกำหนดค่าที่ทำงานในวันที่ 6 ของทุกเดือนในวันนี้ไม่ใช่วันเสาร์และไม่ใช่วันอาทิตย์ // แก้ไข: เขาลบความคิดเห็นของเขาด้วย "ตัวอย่าง" ที่กล่าวถึง
dmnc

หากคุณสร้างคนโง่ของคุณเองด้วยการสร้างโปรไฟล์ใหม่และการใช้งานคนอื่นในทางที่ผิดโปรดหยุดมันไม่ได้เป็นอย่างที่คุณคิดและบัญชีของคุณจะถูกยกเลิก อย่างจริงจัง.
dmnc

ก่อน - หยุดบุคคลที่พยายามช่วยเหลือคุณ สอง - ข้อความที่วางในพื้นที่ความคิดเห็นถูกโพสต์โดย ENTER โดยไม่ได้ตั้งใจแทนที่จะเป็น SHIFT-ENTER ไปข้างหน้าทำมันเองตอนนี้
nirav

1) มันไม่ได้เผา 2) ในครั้งต่อไปอย่าลบความคิดเห็นที่ได้รับการตอบกลับ 3) ขออภัย แต่ฉันไม่เห็นกฎ AND / OR ใด ๆ ในไวยากรณ์ของตัวกำหนดตารางเวลาใช่ไหม ใช่ดังนั้นโปรดเขียนไวยากรณ์บางอย่าง 4) หากมีบางอย่างเกี่ยวกับคำถามที่ไม่ชัดเจนให้คุณถามฉันและฉันจะอธิบาย
dmnc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.