15Jul

Lengvai pakeiskite užrakintą failą, kai jis tampa atrakintas

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, kurie visi praleidžia brangų laiką:

  • Stebėkite ir susisiekite su šiuo failą naudojančiais vartotojais, papasakokite jiems uždaryti / išsaugoti savo darbą ir pan.tada taikykite atnaujinimą.
  • Nedelsdami nedelskite atnaujinimo ir tiesiog prisiminkite, kad tai padaryti vėliau, kai vartotojai nėra sistemoje.
  • Suplanuokite tam tikrą programinę įrangą, kad ji būtų pakeista kito paleidimo metu.

Na, mes turime dar vieną jums pritaikytą sprendimą: scenarijų, kuriuo skambinate per meniu Siųsti, kuris atlieka šiuos veiksmus:

  1. Bando ištrinti seną failą.
  2. Jei senasis failas yra užrakintas, scenarijus laukia 20 sekundžių.Eikite į 1 veiksmą.
  3. Jei senasis failas nėra užrakintas, senasis failas pakeičiamas nauju failu. Eikite į 4 veiksmą.
  4. Pasirinktinai atsijunkite, kai procesas bus baigtas.

Tokiu būdu, jūs gaunate, kad pakeisite komandą, ir 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ų kompiuteryje. 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, paspausdami dešinįjį pelės klavišą ant seno failo / failo, kad pakeistumėte.

Skriptas tiksliai rodys, kas įvyks, ir pateikia jums galimybę atsijungti, kai pakeitimas bus baigtas.

Skriptas nuolat bando ištrinti seną failą, laukdamas kelias sekundes tarp bandymų.

Viskas, ką jums reikia padaryti, yra tai, kad procesas vyktų, ir kai visi jūsų vartotojai išeis, failas bus pakeistas.

apsaugos priemonės

Skriptuose yra keletas pastatytų apsaugos priemonių:

  • Senas failas ir naujas failas yra aiškiai pateikti, todėl tiksliai žinote, kas atsitiks.
  • Jūs galite uždaryti komandų langą bet kuriuo metu sustabdyti veiksmą( žinoma, darant prielaidą, kad pakeitimas jau nebuvo atliktas).
  • Skriptas užtikrins, kad jūs pasirinkote tik du failus, kai jūs naudojate komandą Siųsti. Pavyzdžiui, jei pasirinksite 1 arba 3 failus, gausite pranešimo pranešimą, ir niekas neįvyks.

Script

@ECHO OFF TITLE Pakeiskite užrakintą failą ECHO Pakeiskite užrakintą failą ECHO Parašė: Jasonas Faulkneris ECHO SysadminGeek.com ECHO.ECHO.SETLOCAL EnableExtensions REM patvirtinimas. SET Error = 1 Jei{ % 2} =={ }( ECHO Dvi failai turi būti pasirinkti, kad paleisti pakeitimą. GOTO End) IF NOT( % 3) =={ }( ECHO Pasirinkta daugiau nei 2 failai,"GOTO End") SET Klaida = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Parodykite, kas atsitiks, kad galėtumėte atšaukti. ECHO senas failas:% OldFile% ECHO --------- ECHO Naujas failas:% NewFile% ECHO.ECHO. Galite atšaukti senojo failo keitimą naudodami naują failą, uždarius dabar. ECHO.REM Išsiregistruoti. Jei nenorite to pamatyti, galite ištrinti šias eilutes. ECHO Automatiškai atsijungti, kai pakeičiamas procesas baigtas? ECHO Įveskite "Y", kad automatiškai išsiregistruoti arba įvesti dar ne. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile%( MOVE% NewFile%% OldFile% ECHO failas sėkmingai pakeistas. GOTO End) ECHO.ECHO senasis failas vis dar užrakintas. Laukiama keleto momentų, kad bandytumėte dar kartą.TIMEOUT / T 20 GOTO DoReplace: End IF( % Error%) ==( 1)( ECHO Naudojimo instrukcijos: ECHO 1. Pasirinkite du failus "Windows Explorer". ECHO 2. Dešiniuoju pelės mygtuku spustelėkite senąjį failą ir eikite Siųsti į -Pakeiskite užrakintą failą ECHO. ECHO. Failas, kurį spustelėjote dešiniuoju pelės klavišu, bus pakeistas į kitą pasirinktą failą ECHO ECHO sustabdymas nieko nedarant Paspauskite bet kurį klavišą, kad uždarytumėte TIMEOUT / T 15) IF / I( % LogOffWhenDone%) =={Y}( ECHO. ECHO pasirinkta galimybė atsijungti, kai baigta. ECHO Jūs būsite atsijungęs netrukus SHUTDOWN / L) ENDLOCAL

Nuorodos

Parsisiųsti ReplaceFile scenarijų iš SysadminGeek.com