ตัวกำหนดเวลางานใน windows 7


0

ฉันได้สร้างงานที่มีสามการกระทำที่ฉันต้องการจะดำเนินการตามลำดับต่อไปนี้:

  1. แสดงข้อความถึงผู้ใช้
  2. ไฟล์สำรอง (แบตช์ไฟล์)
  3. คอมพิวเตอร์ Shutdown (ไฟล์ batch)

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

คุณสามารถช่วยฉันรับข้อความที่จะแสดงและงานการสำรองข้อมูลเสร็จสมบูรณ์ก่อนที่จะปิดเครื่องหรือไม่?


เพียงความคิดเห็น: ฉันเดาว่านี่เป็น downvote (ถ้าคุณไม่สามารถเข้าถึงรายละเอียดได้มันมี 1 downvote + 1 upvote) นั่นคือคุณไม่ได้รวมแบตช์ไฟล์ไว้ ดังนั้นจึงไม่มีอะไรพิเศษสำหรับคนที่จะตอบสนอง จากนั้นคุณตอบด้วยตนเอง แต่ไม่มีบริบทที่จะเข้าใจวิธีแก้ปัญหา ที่ จำกัด ประโยชน์ของทั้งคำถามและคำตอบในแง่ของมูลค่าให้ผู้อื่นซึ่งมีผลต่อการลงคะแนน หากคุณเปลี่ยนโพสต์ของคุณเป็น "ช่วงเวลาที่สอนได้" พร้อมคำอธิบายที่ดีเกี่ยวกับคำตอบเพื่อให้ผู้คนเข้าใจว่าทำไมมันทำงานได้โพสต์ของคุณจะดึงดูดผู้โหวตมากขึ้น
fixer1234

คำตอบ:


2

ฉันคิดว่าฉันมีทางออก:

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

สิ่งที่ฉันเสนอคือการสร้างไฟล์แบตช์หนึ่งไฟล์เพื่อดำเนินการทั้งหมดที่คุณระบุไว้

ด้วยวิธีนี้คุณสามารถกำหนดคำสั่งได้ตามต้องการ และคุณรู้ว่างานหนึ่งไม่สามารถทำงานได้จนกว่างานอื่นจะเสร็จสมบูรณ์

รหัสสำหรับกล่องคำถามนั้นมีความแตกต่างกันมากขึ้นอยู่กับประเภทของกล่องที่คุณใช้ รหัสนั้นค่อนข้างง่ายและมีเพียงไม่กี่บรรทัดเมื่อคุณตัดสินใจเลือกกล่องข้อความที่คุณต้องการ

นี่คือรหัสสำหรับกล่องข้อความ (หวังว่ามันคือสิ่งที่คุณต้องการ)

echo wscript.quit MsgBox ("Message", Number, "Title") > message.vbs
wscript //nologo message.vbs
set value=%errorlevel%
del message.vbs
if "%value%"=="1" goto :ok
if "%value%"=="2" goto :cancel
if "%value%"=="3" goto :abort
if "%value%"=="4" goto :retry
if "%value%"=="5" goto :ignore
if "%value%"=="6" goto :yes
if "%value%"=="7" goto :no

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

หมายเลข (กำหนดปุ่มในกล่องข้อความ):

  • ถ้า 1 คุณจะได้รับกล่องข้อความพร้อมตกลงและยกเลิก
  • ถ้า 2 คุณจะได้รับกล่องข้อความด้วย Abort, Retry and Ignore
  • ถ้า 3 คุณจะได้รับกล่องข้อความด้วยใช่ไม่ใช่และยกเลิก
  • ถ้า 4 คุณจะได้รับกล่องข้อความพร้อมใช่และไม่ใช่
  • ถ้า 5 คุณจะได้รับกล่องข้อความพร้อมลองใหม่และยกเลิก
  • ถ้า 6 ขึ้นไปคุณจะได้รับผลลัพธ์เช่นเดียวกับ 1. (แน่ใจ 99%)

%value%ตัวแปรให้แสดงตัวเลขของสิ่งที่คุณกดปุ่ม ในรหัสที่ฉันระบุไว้ข้างต้นฉันบันทึกแต่ละผลลัพธ์ในรูปแบบของรหัสที่ไปยังตำแหน่งในสคริปต์ชุดงานซึ่งมีชื่อว่า ผมเชื่อว่าท่านเข้าใจสถานที่ที่กำหนดโดย:exampleที่exampleเป็นชื่อของสถานที่ ซึ่งหมายความว่าที่ที่ระบุว่าgoto :okมีตำแหน่งที่เรียก:okในสคริปต์ชุดงานของคุณซึ่งมีการจัดเก็บรหัสที่เกี่ยวข้องสำหรับผลลัพธ์นั้น แน่นอนคุณไม่จำเป็นต้องมีgotoคำสั่งในตอนท้ายของคำสั่ง if ถ้าคุณไม่ต้องการฉันเพิ่งรวมมันเป็นวิธีที่ง่ายในการแยกความแตกต่างค่าซึ่งตรงกับปุ่มใด

หลังจากกล่องข้อความในสคริปต์ชุดงานของคุณคุณจะมีโปรแกรมสำรองข้อมูลของคุณ ต่อจากนั้นคำสั่งปิดเครื่องของคุณ (ปิด - ฉันคิดว่า?)

แค่นั้นแหละ! สิ่งที่คุณต้องทำตอนนี้คือทำภารกิจใน Task Scheduler เพื่อเรียกใช้ไฟล์แบตช์และ Voila! คุณควรจะมีกล่องข้อความการสำรองข้อมูลและการปิดระบบดำเนินการติดต่อกัน


อืม, เช่นนี้คุณต้องสามารถเข้าถึง / ใช้ vbscript คุณควรเว้นเสียแต่ว่าจะมีมาตรการเฉพาะที่ป้องกันได้
technotron101

แต่ฉันหวังว่าฉันจะสามารถใช้วิธีการของการกระทำภายในกำหนดเวลางาน
7heViking

มันจะทำให้สิ่งต่าง ๆ ง่ายขึ้นมากใช่ไหม ... ฉันไม่ได้ใช้ Task Scheduler เป็นกองทั้งหมด แต่โดยที่ฉันหมายถึงรายละเอียดดังนั้นฉันจึงไม่สามารถช่วยคุณในเรื่องนั้นได้ ดีใจที่มันใช้ได้สำหรับคุณต่อไป!
technotron101

0

ในที่สุดฉันก็พบปัญหาซึ่งเป็นการผสมผสานระหว่างแบทช์ไฟล์และคำจำกัดความของการกระทำในตัวกำหนดตารางเวลางาน

  • ปัญหาแรกคือไฟล์แบตช์ที่ฉันเขียนใช้ไลบรารี 7-zip ฉันได้กำหนดเส้นทางของโฟลเดอร์ด้วยคำนิยามตัวอักษร (ในกรณีของฉัน H: /) ซึ่งทำงานเมื่อฉันเริ่มแบตช์ไฟล์ด้วยตนเอง แต่เมื่อทำงานในภารกิจฉันต้องใช้เส้นทางเครือข่ายแบบเต็มเช่น\\something.com\public\home\...
  • ปัญหาที่สองคือในหน้าต่างคำจำกัดความการกระทำฉันยังต้องกำหนดอาร์กิวเมนต์ตัวเลือก: เริ่มต้นมันจะชี้ไปที่โฟลเดอร์ที่ไฟล์แบทช์ตั้งอยู่และอีกมากมันจะไม่รวม "ในการเริ่มต้นและสิ้นสุด เช่นฟิลด์ตำแหน่งสคริปต์ไม่ทราบสาเหตุ

ตอนนี้การดำเนินการกำลังทำงานตามลำดับในงาน :)

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