แทนที่ไฟล์ที่ถูกล็อคได้อย่างง่ายดายเมื่อมันถูกปลดล็อก
หากคุณพยายามอัปเดตไฟล์ Windows บางไฟล์ (เช่นโปรแกรมหรือเอกสารคำ) ในขณะที่ใช้งานอยู่คุณจะได้รับข้อผิดพลาด“ การเข้าถึงถูกปฏิเสธไฟล์ใช้งานอยู่” มาตรฐาน ในขณะที่เหตุผลที่อยู่เบื้องหลังนี้ชัดเจน แต่ก็น่ารำคาญมากหากคุณต้องการอัปเดตไฟล์ปฏิบัติการขนาดเล็กซึ่งผู้ใช้รายอื่นใช้อยู่ในปัจจุบัน ในสถานการณ์เหล่านี้คุณมีตัวเลือกต่อไปนี้ซึ่งทั้งหมดใช้เวลาอันมีค่าของคุณ:
- ติดตามและติดต่อผู้ใช้ที่กำลังใช้ไฟล์อยู่บอกให้พวกเขาปิด / บันทึกงานของพวกเขา ฯลฯ จากนั้นใช้การอัปเดต.
- อย่าใช้การอัปเดตทันทีและอย่าลืมทำในภายหลังเมื่อผู้ใช้ไม่ได้อยู่ในระบบ.
- กำหนดเวลายูทิลิตี้บางอย่างเพื่อแทนที่ในการรีบูตครั้งถัดไป.
เรามีวิธีแก้ไขปัญหาอื่นสำหรับคุณ: สคริปต์ที่คุณเรียกใช้ผ่านเมนูส่งไปที่ทำสิ่งต่อไปนี้:
- พยายามลบไฟล์เก่า.
- หากไฟล์เก่าถูกล็อคสคริปต์จะรอ 20 วินาที ไปที่ขั้นตอนที่ 1.
- หากไฟล์เก่าไม่ถูกล็อคไฟล์เก่าจะถูกแทนที่ด้วยไฟล์ใหม่ ไปที่ขั้นตอนที่ 4.
- ทางเลือกออกจากระบบเมื่อกระบวนการเสร็จสิ้น.
ด้วยวิธีนี้คุณจะได้รับเพียงคำสั่งแทนที่และสคริปต์จะจัดการกับส่วนที่เหลือ สิ่งนี้สามารถช่วยคุณหลีกเลี่ยงการติดตามผู้ใช้หรือต้องติดตั้งโปรแกรมอรรถประโยชน์ที่ไม่จำเป็นในระบบของคุณ.
การตั้งค่าและการใช้งาน
สคริปต์สามารถวางได้ทุกที่ในระบบของคุณ สิ่งที่คุณต้องทำคือสร้างทางลัดไปยังโฟลเดอร์ SendTo ของคุณ:
ในการเริ่มกระบวนการแทนที่ให้เลือกไฟล์เก่าและไฟล์ใหม่จากนั้นเรียกใช้ตัวเลือกส่งไปยังโดยคลิกขวาที่ ไฟล์เก่า / ไฟล์ที่จะแทนที่.
สคริปต์จะแสดงสิ่งที่จะเกิดขึ้นและนำเสนอตัวเลือกให้คุณออกจากระบบเมื่อการแทนที่เสร็จสิ้น.
สคริปต์จะพยายามลบไฟล์เก่าอย่างต่อเนื่องในระหว่างที่รอหลายวินาที.
สิ่งที่คุณต้องทำคือทำให้กระบวนการทำงานและเมื่อใดก็ตามที่ผู้ใช้ของคุณหมดไฟล์จะถูกแทนที่.
การป้องกัน
สคริปต์มีสองสามตัวในการป้องกัน:
- ไฟล์เก่าและไฟล์ใหม่จะถูกนำเสนออย่างชัดเจนเพื่อให้คุณรู้ว่าจะเกิดอะไรขึ้น.
- คุณสามารถปิดหน้าต่างคำสั่งได้ตลอดเวลาเพื่อหยุดการกระทำ (แน่นอนว่าการแทนที่ยังไม่ได้ดำเนินการ).
- สคริปต์จะให้แน่ใจว่าคุณได้เลือกสองไฟล์เท่านั้นเมื่อคุณเรียกใช้คำสั่งส่งไปยัง หากคุณเลือกตัวอย่างเช่น 1 หรือ 3 ไฟล์คุณจะได้รับข้อความแจ้งเตือนและจะไม่มีอะไรเกิดขึ้น.
สคริปต์
@ECHO OFF TITLE แทนที่ไฟล์ที่ถูกล็อค ECHO แทนที่ไฟล์ที่ถูกล็อค ECHO เขียนโดย: Jason Faulkner ECHO SysadminGeek.com ECHO ECHO SETLOCAL EnableExtensions REM การตรวจสอบ SET Error = 1 IF % 2 == (ECHO สองไฟล์จะต้องเลือกเพื่อทำการแทนที่ GOTO End) ถ้าไม่ใช่ % 3 == (ECHO ไฟล์มากกว่า 2 ไฟล์ถูกเลือกดังนั้นฉันจึงไม่ แน่ใจว่าจะทำอย่างไร GOTO จบ) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM แสดงสิ่งที่จะเกิดขึ้นเพื่อให้คุณมีโอกาสยกเลิก ไฟล์ ECHO เก่า:% OldFile% ECHO --------- ECHO ไฟล์ใหม่:% NewFile% ECHO ECHO คุณสามารถยกเลิกการแทนที่ไฟล์เก่าด้วยไฟล์ใหม่ได้โดยปิดตอนนี้ ECHO REM ออกจากระบบพรอมต์ หากคุณไม่ต้องการเห็นสิ่งนี้คุณสามารถลบบรรทัดเหล่านี้ได้ ECHO ออกจากระบบโดยอัตโนมัติเมื่อกระบวนการแทนที่เสร็จสิ้นหรือไม่ ECHO ป้อน 'Y' เพื่อออกจากระบบโดยอัตโนมัติหรือป้อนสิ่งอื่นที่ไม่ต้องการ SETO / P LogOffWhenDone =: แทนที่ DEL / F / Q% OldFile% หากไม่พบ% OldFile% (ย้าย% NewFile%% OldFile% ECHO ไฟล์แทนที่สำเร็จ GOTO สิ้นสุด) ECHO ECHO ไฟล์เก่ายังคงล็อคอยู่ รอสักครู่เพื่อลองอีกครั้ง TIMEOUT / T 20 GOTO DoReplace: End IF % Error% == 1 (คำแนะนำ ECHO สำหรับการใช้งาน: ECHO 1. เลือกสองไฟล์ใน Windows Explorer ECHO 2. คลิกขวาที่ไฟล์เก่าและไปส่งไปที่ - แทนที่ไฟล์ที่ถูกล็อค ECHO ECHO ไฟล์ที่คุณคลิกขวาจะถูกแทนที่ด้วยไฟล์ที่เลือกอื่น ๆ ECHO ECHO หยุดโดยไม่ทำอะไรกดปุ่มใด ๆ เพื่อปิด TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO. ECHO ตัวเลือกในการออกจากระบบเมื่อเลือกเสร็จ ECHO คุณจะออกจากระบบในไม่ช้า SHUTDOWN / L) ENDLOCAL
การเชื่อมโยง
ดาวน์โหลดสคริปต์แทนที่ไฟล์จาก SysadminGeek.com