แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

แก้ไขงานที่กำหนดเวลาไว้จะไม่ทำงานสำหรับไฟล์. BAT

หากคุณมีไฟล์. BAT และคุณพยายามทำให้ไฟล์นั้นทำงานโดยอัตโนมัติโดยใช้ Task Scheduler ใน Windows คุณอาจพบปัญหาที่ไฟล์ไม่ทำงานจนกว่าคุณจะทำงานด้วยตนเอง

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

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

ขั้นตอนที่ 1: ตรวจสอบการอนุญาตของไฟล์ / โฟลเดอร์

ขั้นตอนแรกในการแก้ไขปัญหานี้คือตรวจสอบให้แน่ใจว่าบัญชีที่คุณใช้เรียกใช้สคริปต์ใน Task Scheduler มีสิทธิ์ควบคุมทั้งหมดในโฟลเดอร์ที่มีสคริปต์สคริปต์ตัวเองและโฟลเดอร์ / ไฟล์ใด ๆ ที่สคริปต์สัมผัสเมื่อทำงาน

ตัวอย่างเช่นฉันสร้างสคริปต์ชุดต่อไปนี้ด้านล่าง:

 ตั้งค่าโฟลเดอร์ = "C: \ test" cd / d% โฟลเดอร์% สำหรับ / F "delims =" %% i ใน ('dir / b') ทำ (rmdir "%% i" / s / q || del "% % i "/ s / q) 

ฉันบันทึกไฟล์. BAT ลงในโฟลเดอร์เอกสารของฉันแล้ว เส้นทางคือ C: \ Users \ ชื่อผู้ใช้ \ Documents ฉันไปที่ C: \ Users \ ชื่อผู้ใช้คลิกขวาที่โฟลเดอร์ เอกสาร และคลิกที่ คุณสมบัติ จากนั้นฉันคลิกที่แท็บ ความปลอดภัย

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

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

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

ขั้นตอนที่ 2: ตรวจสอบการตั้งค่า Task Scheduler

ตอนนี้เรามาที่ Task Scheduler แล้วเปลี่ยนการตั้งค่าที่เหมาะสมที่นั่น เปิด Task Scheduler และค้นหางานของคุณภายใต้ส่วน Tasks ที่ใช้งาน อยู่ ควรแสดงรายการตามลำดับตัวอักษร

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

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

จากนั้นคุณต้องเลือกตัวเลือก Run ไม่ว่าจะเป็นผู้ใช้ที่เข้าสู่ระบบหรือไม่ และเลือก Windows Vista, Windows Server 2008 ในช่อง Configure for

บนแท็บการ กระทำ คุณต้องเลือกสคริปต์คลิกที่ แก้ไข แล้วเพิ่มเส้นทางไปยังโฟลเดอร์ที่มีสคริปต์ในกล่อง เริ่มใน (ทางเลือก) สิ่งนี้อาจดูเหมือนไม่จำเป็น แต่ไม่ใช่ ในกรณีของฉันฉันใส่ C: \ Users \ Aseem \ Documents \ ในกล่อง

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

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

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

รายการอื่นที่ควรทราบคือถ้าสคริปต์ของคุณเข้าถึงทรัพยากรบนเครือข่ายที่ใช้ร่วมกัน หากสคริปต์ของคุณใช้ตัวอักษรเพื่อเข้าถึงเครือข่ายสคริปต์อาจไม่ทำงาน ตัวอย่างเช่นแทนที่จะใช้ F: \ data \ คุณควรใช้ \\ machinename \ share_name \ data \ ในสคริปต์ หากคุณยังไม่สามารถเรียกใช้สคริปต์ของคุณโพสต์ความคิดเห็นที่นี่และฉันจะพยายามช่วย สนุก!

Top