Jei bandydami atnaujinti kai kuriuos "Windows" failus (pvz., Programas ar žodinius dokumentus), kai jie yra naudojami, gaunate standartinę "prieigos neleidžiama, failas yra naudojamas" klaida. Nors tai yra akivaizdi motyvacija, tai gali būti gana erzina, jei reikia atnaujinti mažą vykdomąjį failą, kurį šiuo metu naudoja kitas vartotojas. Tokiose situacijose, be kita ko, galite pasirinkti tokius pasirinkimus: visa tai turi savo brangų laiką:
- Stebėkite ir susisiekite su tais, kurie šiuo metu naudoja failą, pasakykite jiems, kad jie uždarytų / išsaugotų savo darbą ir tt, tada taikykite atnaujinimą.
-
Neatidarykite atnaujinimo iš karto ir tiesiog nepamirškite tai padaryti vėliau, kai vartotojai nėra sistemoje.
- Suplanuokite keletą naudingų programų, kad galėtumėte ją pakeisti kito paleidimo metu.
Na, turime kitą jums prieinamą sprendimą: scenarijų, kuriuo skambinate per meniu Siųsti, kuris atlieka šiuos veiksmus:
- Bando ištrinti seną failą.
-
Jei senasis failas yra užrakintas, scenarijus laukia 20 sekundžių. Eikite į 1 žingsnį.
- Jei senasis failas nėra užrakintas, senasis failas pakeičiamas nauju failu. Eikite į 4 veiksmą.
- Pasirinktinai išsiregistruoti, kai procesas baigtas.
Tokiu būdu gausite tiesiog pakeistą komandą, o scenarijus rūpinsis likusia dalimi. Tai gali padėti išvengti naudotojų nustatymo arba nereikalingų komunalinių paslaugų įdiegimo jūsų sistemoje.
Sąranka ir naudojimas
Skriptą galima įdėti bet kur jūsų sistemoje. Tada viskas, ko jums reikia padaryti, yra sukurti nuorodą į ją "SendTo" aplanke:
Norėdami pradėti pakeitimo procesą, pasirinkite seną failą ir naują failą, tada spustelėkite parinktį Siųsti, dešiniuoju pelės mygtuku spustelėkite mygtuką senas failas / failas pakeisti.
Apsaugos priemonės
Scenarije yra keletas pastatytų apsaugos priemonių:
- Senas failas ir naujas failas yra aiškiai pateikti, kad tiksliai žinotumėte, kas atsitiks.
- Galite uždaryti komandų langą bet kuriuo metu sustabdyti veiksmą (žinoma, darant prielaidą, kad pakeitimas dar nebuvo atliktas).
- Šis scenarijus užtikrins, kad pasirinkę komandą "Siųsti" pasirinkote tik du failus. Pavyzdžiui, jei pasirinksite 1 arba 3 failus, gausite pranešimo pranešimą, ir niekas neįvyks.
Scenarijus
@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
Nuorodos
Atsisiųskite "ReplaceFile" scenarijų iš "SysadminGeek.com"