בקלות להחליף קובץ נעול ברגע שהוא הופך נעולים
אם תנסה לעדכן קבצי Windows מסוימים (כגון תוכניות או מסמכי Word) בזמן שהם נמצאים בשימוש, תקבל את השגיאה הסטנדרטית "הגישה נדחתה, הקובץ נמצא בשימוש". בעוד ההגיון מאחורי זה ברור, זה יכול להיות די מעצבן אם אתה צריך לעדכן הפעלה קטנה אשר נמצא בשימוש כעת על ידי משתמש אחר. במצבים אלה, יש לך, בין היתר, את האפשרויות הבאות, שכולן לוקחות את הזמן יקר:
- עקוב אחר למטה ופנה אל המשתמשים המשתמשים כעת בקובץ, אמור להם לסגור / לשמור את עבודתם וכו 'ולאחר מכן להחיל את העדכון.
- אל תחיל את העדכון באופן מיידי ופשוט זכור לעשות זאת מאוחר יותר כאשר משתמשים אינם נמצאים במערכת.
- תזמן כמה כלי השירות כדי להחליף אותו באתחול הבא.
ובכן, יש לנו פתרון אחר זמין עבורך: סקריפט אתה מפעיל באמצעות התפריט שלח אל אשר עושה את הפעולות הבאות:
- מנסה למחוק את הקובץ הישן.
- אם הקובץ הישן נעול, התסריט מחכה 20 שניות. עבור לשלב 1.
- אם הקובץ הישן אינו נעול, הקובץ הישן מוחלף בקובץ החדש. עבור לשלב 4.
- לחלופין להתנתק לאחר התהליך נעשה.
בדרך זו, אתה מקבל רק לקבל את הפקודה להחליף בתנועה סקריפט דואג לשאר. זה יכול לעזור לך למנוע מעקב אחר משתמשים או צורך להתקין כלי עזר מיותרים על המערכת שלך.
הגדרה ושימוש
את הסקריפט ניתן להציב בכל מקום על המערכת שלך. אז כל מה שאתה צריך לעשות הוא ליצור קיצור אליו בתיקייה SendTo שלך:
כדי להתחיל את תהליך ההחלפה, בחר את הקובץ הישן ואת הקובץ החדש ולאחר מכן להפעיל את האפשרות שלח אל על ידי לחיצה ימנית על הקובץ הישן / קובץ להחליף.
התסריט יציג בדיוק את מה שיקרה ויציג בפניך את האפשרות להתנתק מהחלפה.
התסריט ינסה שוב ושוב למחוק את הקובץ הישן תוך המתנה של מספר שניות בין ניסיונות.
כל מה שאתה צריך לעשות הוא לקבל את התהליך פועל ובכל פעם כל המשתמשים שלך החוצה, הקובץ יוחלף.
אמצעי הגנה
לסקריפט יש כמה אמצעי הגנה מובנים:
- הקובץ הישן ואת הקובץ החדש מוצגים בבירור אז אתה יודע בדיוק מה יקרה.
- אתה יכול לסגור את חלון הפקודה בכל עת כדי לעצור את הפעולה (כמובן, בהנחה להחליף לא בוצעה כבר).
- התסריט יבטיח שבחרת רק שני קבצים בעת הפעלת הפקודה שלח אל. אם תבחר, למשל, 1 או 3 קבצים תקבל הודעת הודעה ושום דבר לא יקרה.
התסריט
@ECHO OFF TITLE החלפת קובץ נעול ECHO החלף קובץ נעול ECHO נכתב על ידי: ג 'ייסון Faulkner ECHO SysadminGeek.com ECHO. ECHO. אפשר אימות של REM אימות. SET Error = 1 IF % 2 == (ECHO יש לבחור שני קבצים כדי להפעיל את ההחלפה .GOTO End) אם לא % 3 == (ECHO נבחרו יותר משני קבצים, אז אני לא מה לעשות GOTO סוף) SET שגיאה = 0 SET OldFile = "~ ~ f1" SET NewFile = "% ~ f2" הגדר LogOffWhenDone = 0 REM הראה מה יקרה כדי שתהיה לך אפשרות לבטל. ECHO קובץ ישן:% OldFile% ECHO --------- ECHO קובץ חדש:% NewFile% ECHO. ECHO ניתן לבטל את החלפת הקובץ הישן בקובץ החדש על-ידי סגירתו כעת. ECHO. REM להתנתק הנחיה. אם אינך רוצה לראות זאת, תוכל למחוק שורות אלה. ECHO היכנס באופן אוטומטי לאחר השלמת תהליך ההחלפה? ECHO הזן 'Y' כדי להתנתק באופן אוטומטי או להזין כל דבר אחר. % EFO הקובץ הוחלף בהצלחה. ECHO הקובץ הישן עדיין נעול. ממתין כמה רגעים כדי לנסות שוב. TIMOUT / T 20 GOTO DoReplace: סיום IF [% Error% == 1 (ECHO הוראות לשימוש: ECHO 1. בחר את שני הקבצים בסייר Windows ECHO 2. לחץ לחיצה ימנית על הקובץ הישן ולך שלח אל - החלף את הקובץ הנעול ECHO ECHO הקובץ שהקלקת עליו יופעל בתיק הנבחר השני ECHO ECHO עצור מבלי לעשות דבר לחץ על מקש כלשהו כדי לסגור את TIMEOUT / T 15) אם / I % LogOffWhenDone% == (ECHO) ECHO אפשרות ECHO לניתוק כאשר מסתיימת. ECHO תתחברנה בהקדם (SHUTDOWN / L) ENDLOCAL
קישורים
הורד סקריפט ReplaceFile מ SysadminGeek.com