Jednoduché nahradenie uzamknutého súboru po jeho odomknutí

Obsah:

Jednoduché nahradenie uzamknutého súboru po jeho odomknutí
Jednoduché nahradenie uzamknutého súboru po jeho odomknutí

Video: Jednoduché nahradenie uzamknutého súboru po jeho odomknutí

Video: Jednoduché nahradenie uzamknutého súboru po jeho odomknutí
Video: The most AMAZING Dropbox Trick EVER 🤯 #shorts - YouTube 2024, Smieť
Anonim

Ak sa pokúsite aktualizovať určité súbory systému Windows (napríklad programy alebo slovné dokumenty), keď sa používajú, získate štandardnú chybu "prístup odmietnutý, súbor sa používa". Zatiaľ čo odôvodnenie je zrejmé, môže to byť dosť nepríjemné, ak potrebujete aktualizovať malý spustiteľný súbor, ktorý práve používa iný používateľ. V týchto situáciách máte, okrem iného, nasledujúce možnosti, ktoré zaberajú váš drahocenný čas:

  • Sledujte a kontaktujte používateľov, ktorí v súčasnosti používajú tento súbor, povedzte im, aby zavrel / uložil svoju prácu atď. A potom použite aktualizáciu.
  • Aktualizáciu nepoužívajte okamžite a nezabudnite to robiť neskôr, keď nie sú používatelia v systéme.

  • Naplánujte nejaký nástroj na jeho nahradenie pri ďalšom reštarte.

Máme k dispozícii iné riešenie: skript, ktorý vyvolávate prostredníctvom ponuky Odoslať do, ktorá robí nasledujúce:

  1. Pokúsi sa odstrániť starý súbor.
  2. Ak je starý súbor uzamknutý, skript čaká 20 sekúnd. Prejdite na krok 1.

  3. Ak starý súbor nie je zamknutý, starý súbor sa nahradí novým súborom. Prejdite na krok 4.
  4. Prípadne sa odhláste po dokončení procesu.

Týmto spôsobom dostanete výmenný príkaz do pohybu a skript sa postará o zvyšok. To vám môže pomôcť vyhnúť sa sledovaniu užívateľov alebo inštalácii nepotrebných nástrojov do vášho systému.

Nastavenie a použitie

Skript môžete umiestniť kdekoľvek na vašom systéme. Potom všetko, čo musíte urobiť, je vytvoriť skratku k nej v priečinku SendTo:

Image
Image

Ak chcete spustiť proces výmeny, vyberte starý súbor a nový súbor a následne kliknite na možnosť Odoslať do starý súbor / súbor, ktorý chcete nahradiť.

Skript zobrazí presne to, čo sa stane, a po dokončení výmeny vám poskytne možnosť odhlásenia.
Skript zobrazí presne to, čo sa stane, a po dokončení výmeny vám poskytne možnosť odhlásenia.
Skript sa bude neustále pokúšať odstrániť starý súbor počas čakania niekoľkých sekúnd medzi pokusmi.
Skript sa bude neustále pokúšať odstrániť starý súbor počas čakania niekoľkých sekúnd medzi pokusmi.
Jediné, čo musíte urobiť, je spustiť proces a vždy, keď sú všetci vaši používatelia von, súbor bude nahradený.
Jediné, čo musíte urobiť, je spustiť proces a vždy, keď sú všetci vaši používatelia von, súbor bude nahradený.

záruky

Skript má niekoľko zabudovaných bezpečnostných prvkov:

  • Starý súbor a nový súbor sú jasne uvedené, takže presne viete, čo sa stane.
  • Okno príkazu môžete kedykoľvek ukončiť, aby ste zastavili akciu (samozrejme za predpokladu, že výmena už nebola vykonaná).
  • Skript zabezpečí, že ste vybrali iba dva súbory, keď vyvoláte príkaz Odoslať. Ak vyberiete napríklad 1 alebo 3 súbory, dostanete upozornenie a nič sa nestane.

Scenár

@ECHO OFF TITLE Replace Locked File ECHO Replace Locked File ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Validation. SET Error=1 IF {%2}=={} ( ECHO Two files must be selected to run the replace. GOTO End ) IF NOT {%3}=={} ( ECHO More than 2 files were selected so I am not sure what to do. GOTO End ) SET Error=0 SET OldFile='%~f1' SET NewFile='%~f2' SET LogOffWhenDone=0 REM Show what will happen so you have a chance to cancel out. ECHO Old File: %OldFile% ECHO --------- ECHO New File: %NewFile% ECHO. ECHO You can cancel replacing the Old File with the New File by closing now. ECHO. REM Log off prompt. If you do not want to see this, you can delete these lines. ECHO Automatically log off once the replace process has completed? ECHO Enter 'Y' to automatically log off or enter anything else to not. SET /P LogOffWhenDone=:DoReplace DEL /F /Q %OldFile% IF NOT EXIST %OldFile% ( MOVE %NewFile% %OldFile% ECHO File replaced successfully. GOTO End ) ECHO. ECHO The Old File is still locked. Waiting a few moments to try again. TIMEOUT /T 20 GOTO DoReplace:End IF {%Error%}=={1} ( ECHO Instructions for use: ECHO 1. Select the two files in Windows Explorer. ECHO 2. Right click on the Old File and go Send To - Replace Locked File ECHO. ECHO The file you right clicked on will be replaced with the other selected file. ECHO. ECHO Stopping without doing anything. Press any key to close. TIMEOUT /T 15 ) IF /I {%LogOffWhenDone%}=={Y} ( ECHO. ECHO Option to Log Off when completed was selected. ECHO You will be logged off shortly. SHUTDOWN /L ) ENDLOCAL

odkazy

Stiahnite si súbor ReplaceFile Script zo stránky SysadminGeek.com

Odporúča: