Лесно заменете заключен файл, след като той се отключи
Ако се опитате да актуализирате определени файлове на Windows (като програми или текстови документи), докато те се използват, получавате грешката за стандартния „отказан достъп, файл е в употреба“. Докато причините за това са очевидни, може да бъде доста досадно, ако се налага да обновите малък изпълним файл, който в момента се използва от друг потребител. В тези ситуации имате следните възможности за избор, всички от които заемат ценното ви време:
- Открийте и се свържете с потребителите, които в момента използват файла, кажете им да затворят / запазят работата си и т.н. и след това да приложи актуализацията.
- Не прилагайте актуализацията веднага и не забравяйте да го направите по-късно, когато потребителите не са в системата.
- Настройте програма, за да я замените при следващото рестартиране.
Е, имаме друго решение за вас: скрипт, който извиквате чрез менюто Изпрати до, което прави следното:
- Опитва да изтрие стария файл.
- Ако старият файл е заключен, скриптът изчаква 20 секунди. Преминете към стъпка 1.
- Ако старият файл не е заключен, старият файл се заменя с новия. Преминете към стъпка 4.
- По желание можете да излезете след като процесът приключи.
По този начин ще получите само заместващата команда в движение и скриптът ще се погрижи за останалото. Това може да ви помогне да избегнете проследяване на потребители или да инсталирате ненужни помощни програми в системата си.
Настройка и използване
Скриптът може да бъде поставен навсякъде във вашата система. Всичко, което трябва да направите, е да създадете пряк път към нея в папката си SendTo:
За да стартирате процеса на замяна, изберете стария файл и нов файл и след това извикайте опцията Изпрати до, като щракнете с десния бутон върху стар файл / файл за подмяна.
Скриптът ще покаже точно какво ще се случи и ще ви покаже опцията да бъдете изключена, след като замяна приключи.
Скриптът непрекъснато ще се опитва да изтрие стария файл, докато чака няколко секунди между опитите.
Всичко, което трябва да направите, е да стартирате процеса и когато всичките ви потребители са излезли, файлът ще бъде заменен.
Предпазни мерки
Скриптът има няколко вградени предпазни мерки:
- Старият файл и новият файл са ясно представени, за да знаете точно какво ще се случи.
- Можете да затворите командния прозорец по всяко време, за да спрете действието (разбира се, ако приемем, че заместването вече не е извършено).
- Скриптът ще гарантира, че сте избрали само два файла, когато извикате командата Send To. Ако изберете например 1 или 3 файла, ще получите съобщение за съобщение и нищо няма да се случи.
Скриптът
@ECHO OFF TITLE Замяна на заключен файл ECHO Замяна на заключен файл ECHO Написано от: Джейсън Фолкнер ECHO SysadminGeek.com ECHO. Хуманитарна помощ. SETLOCAL EnableExtensions REM валидиране. SET Error = 1 IF % 2 == (ECHO Два файла трябва да бъдат избрани, за да се изпълни заместването. GOTO Край) Ако не е % 3 == (ECHO Повече от 2 файла бяха избрани, така че не GOTO Край) SET Грешка = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Покажете какво ще се случи, за да имате възможност да го анулирате. ECHO Old Файл:% OldFile% ECHO --------- ECHO Нов файл:% NewFile% ECHO. ECHO Можете да отмените подмяната на стария файл с новия файл, като затворите сега. Хуманитарна помощ. REM Излизане подкана. Ако не искате да виждате това, можете да изтриете тези линии. ECHO Автоматично излизане, след като процесът на замяна приключи? ECHO Въведете „Y“, за да излезете автоматично или да въведете нещо друго. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% Ако не съществува% OldFile% (MOVE% NewFile%% OldFile% ECHO файл е заменен успешно. GOTO End) ECHO. ECHO Старият файл все още е заключен. Изчаквайте няколко минути, за да опитате отново. TIMEOUT / T 20 GOTO DoReplace: End IF % Грешка% == 1 (ECHO Инструкции за употреба: ECHO 1. Изберете двата файла в Windows Explorer. ECHO 2. Кликнете с десния бутон върху стария файл и отидете на Send To - Смяна на заключен файл ECHO ECHO Файлът, който щракнете с десния бутон, ще бъде заменен с другия избран файл ECHO ECHO Спиране без да се прави нищо. Натиснете произволен клавиш, за да затворите TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO. Избрана е опцията ECHO за излизане от системата, когато е завършена. ECHO Ще бъдете изключен скоро. SHUTDOWN / L) ENDLOCAL
звена
Изтеглете скрипт на ReplaceFile от SysadminGeek.com