ถ้าคุณมีไฟล์. BAT และคุณพยายามทำให้มันทำงานโดยอัตโนมัติโดยใช้ Task Scheduler ใน Windows คุณอาจจะพบปัญหาที่มันไม่ทำงานจนกว่าคุณจะรันงานด้วยตนเอง
ฉันสร้างไฟล์แบทช์ที่ลบทุกอย่างภายในโฟลเดอร์ temp เมื่อคอมพิวเตอร์เริ่มทำงาน ฉันสร้างงานพื้นฐานใน Task Scheduler และหวังให้ดีที่สุด แต่น่าเสียดายที่ไม่มีอะไรเกิดขึ้นเมื่อคอมพิวเตอร์ของฉันบูตขึ้น หลังจากทดลองใช้และข้อผิดพลาดเป็นจำนวนมากฉันได้รู้วิธีเรียกใช้สคริปต์ในบทความนี้
ในบทความนี้เราจะนำคุณไปสู่การตั้งค่าและสิทธิ์ที่คุณต้องปรับเพื่อให้ได้รับ ไฟล์แบตช์ของคุณจะทำงานโดยไม่มีการแทรกแซงด้วยตนเอง
ขั้นตอนที่ 1: ตรวจสอบสิทธิ์ไฟล์ / โฟลเดอร์
ขั้นตอนแรกในการแก้ไขปัญหานี้คือตรวจสอบว่าบัญชีที่คุณใช้เรียกใช้สคริปต์ ใน Task Scheduler มีสิทธิ์ควบคุมทั้งหมดในโฟลเดอร์ที่มีสคริปต์สคริปต์เองและโฟลเดอร์ / ไฟล์ใด ๆ ที่สคริปต์สัมผัสเมื่อทำงาน
ตัวอย่างเช่นฉันสร้างสคริปต์ชุดต่อไปนี้ไว้ด้านล่าง:
set folder="C:\test"cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
ฉันได้บันทึกไฟล์. BAT ไว้ในโฟลเดอร์ Documents ของฉันแล้ว เส้นทางคือ C: \ Users \ ชื่อผู้ใช้ \ Documentsฉันไปที่ C: \ Users \ ชื่อผู้ใช้คลิกขวาที่โฟลเดอร์ Documentsและคลิกที่ Propertiesแล้วคลิกที่แท็บ ความปลอดภัย
ตามที่คุณเห็นบัญชีผู้ใช้ Aseem ได้รับการเพิ่มอย่างชัดเจนและได้รับสิทธิ์ การควบคุมแบบเต็มรูปแบบตอนนี้คุณต้องทำสิ่งเดียวกันกับโฟลเดอร์ที่มีสคริปต์และสคริปต์ด้วย อย่าเพิ่งคิดว่าถ้าคุณให้สิทธิ์ไปยังโฟลเดอร์ที่มีสคริปต์คุณควรไปเพราะคุณไม่ได้ สุดท้ายตั้งค่าสิทธิ์สำหรับไฟล์และโฟลเดอร์ที่สคริปต์จะโต้ตอบด้วย
ในกรณีของฉันฉันต้องไปที่ C: \ testคลิกขวาที่โฟลเดอร์นั้น และเพิ่มบัญชีผู้ใช้ของฉันที่นั่นด้วยสิทธิ์ควบคุมทั้งหมด เป็นประเภทที่น่ารำคาญที่คุณต้องทำเช่นนี้ แต่เป็นวิธีเดียวที่จะทำให้สคริปต์ทำงานได้
หมายเหตุ: บัญชีที่กำลังใช้งานอยู่ สคริปต์จะต้องเป็นส่วนหนึ่งของกลุ่ม ผู้ดูแลระบบท้องถิ่นในคอมพิวเตอร์ ในกรณีของฉันบัญชี Aseem เป็นบัญชีผู้ดูแลระบบและเป็นส่วนหนึ่งของกลุ่มผู้ดูแลระบบภายในขั้นตอนที่ 2: ตรวจสอบการตั้งเวลาของ Task Scheduler
ตอนนี้ไปที่ Task Scheduler แล้วเปลี่ยนการตั้งค่าที่เหมาะสมที่นั่น เปิด Task Scheduler และค้นหางานของคุณภายใต้ส่วน งานที่กำลังทำงาน
ในการแก้ไขงานคุณจะต้องคลิกขวาที่ไฟล์แล้วเลือก Properties
มีหลายแท็บและมีสองสิ่งที่ต้องตรวจสอบและเปลี่ยนแปลงที่นี่ ประการแรกบนแท็บ ทั่วไปคุณต้องตรวจสอบบัญชีผู้ใช้ที่กำลังใช้เพื่อเรียกใช้งาน ในกรณีของฉันนี่คือ บัญชี Aseemที่ฉันได้ให้สิทธิ์ในระบบไฟล์ก่อนหน้านี้และเป็นส่วนหนึ่งของกลุ่มผู้ดูแลระบบบนคอมพิวเตอร์
จากนั้นคุณต้องเลือกตัวเลือก เรียกใช้ว่าผู้ใช้ล็อกอินอยู่หรือไม่และเลือก Windows Vista, Windows Server 2008ในกล่อง กำหนดค่าสำหรับ
ใน การดำเนินการคุณต้องเลือกสคริปต์คลิก แก้ไขจากนั้นเพิ่มในเส้นทางไปยังโฟลเดอร์ที่มีสคริปต์ในกล่อง e เริ่มต้นใน (ไม่จำเป็น)นี้อาจดูเหมือนไม่จำเป็น แต่ก็ไม่ได้ ในกรณีนี้ให้ใส่ C: \ Users \ Aseem \ Documents \ลงในช่อง
คลิก ตกลงเพื่อบันทึกการตั้งค่า เมื่อทำเช่นนี้กล่องโต้ตอบอาจปรากฏขึ้นที่คุณต้องป้อนรหัสผ่านสำหรับบัญชีผู้ใช้ที่จะเรียกใช้งาน นี้จะทำให้ความต้องการอื่น คุณไม่สามารถใช้บัญชีที่ไม่มีรหัสผ่านได้ บัญชีผู้ใช้ต้องมีรหัสผ่านเพื่อให้งานรัน
สุดท้ายคุณควรรันงานด้วยตัวเองเพียงครั้งเดียวใน Task Scheduler เพื่อให้แน่ใจว่าจะทำงาน ถ้ามันทำงานได้ดีด้วยตนเองหลังจากที่คุณเปลี่ยนการตั้งค่าทั้งหมดแล้วมันควรจะทำงานเมื่อมันควรจะถูกเรียก ในกรณีของฉันมันควรจะเกิดขึ้นเมื่อเริ่มต้นและหลังจากที่ฉันได้เปลี่ยนแปลงทุกอย่างทำงานได้ดี
การเข้าถึงคอมพิวเตอร์เครื่องอื่นในโดเมนเมื่อรันคุณควรลองใช้บัญชีผู้ดูแลระบบโดเมนเพื่อเรียกใช้งาน ซึ่งจะช่วยให้บัญชีมีสิทธิ์เพียงพอในการเข้าถึงคอมพิวเตอร์ระยะไกล
อีกรายการหนึ่งที่ควรทราบก็คือหากสคริปต์ของคุณเข้าถึงทรัพยากรบนเครือข่ายร่วมกัน หากสคริปต์ของคุณกำลังใช้ตัวอักษรในการเข้าถึงเครือข่ายอาจไม่ทำงาน ตัวอย่างเช่นแทนที่จะใช้ F: \ data \คุณควรใช้ \\ machinename \ share_name \ data \ในสคริปต์ หากคุณยังคงไม่สามารถเรียกใช้สคริปต์ของคุณได้โปรดโพสต์ความคิดเห็นที่นี่และฉันจะพยายามช่วย สนุก!