Pagrindinis » kaip » Lengvai pakeiskite užrakintą failą, kai jis bus atrakintas

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

    Jei bandote atnaujinti tam tikras „Windows“ rinkmenas (pvz., Programas ar „Word“ dokumentus), kai jie yra naudojami, gausite standartinę „prieigos atsisakymo, failo naudojimo“ klaidą. Nors šios priežastys yra akivaizdžios, gali būti gana erzina, jei reikia atnaujinti mažą vykdomąjį failą, kurį šiuo metu naudoja kitas naudotojas. Esant tokioms situacijoms, jūs, be kita ko, turite šiuos pasirinkimus, kurie visi užima vertingą laiką:

    • Stebėkite ir susisiekite su naudotojais, kurie šiuo metu naudoja failą, papasakokite jiems uždaryti / išsaugoti savo darbą ir tt, tada pritaikykite naujinimą.
    • Nedelsdami pritaikykite naujinimą ir tiesiog nepamirškite tai padaryti vėliau, kai naudotojai nėra sistemoje.
    • Suplanuokite tam tikrą įrankį, kuris pakeis jį kitame perkrovime.

    Na, mes turime kitą sprendimą, kurį galite rasti: scenarijus, kurį naudojate per meniu „Siųsti“, kuris atlieka šiuos veiksmus:

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

    Tokiu būdu gausite tik pakeitimo komandą ir scenarijus rūpinasi likusia. Tai gali padėti išvengti naudotojų stebėjimo ar nereikalingų įrenginių įdiegimo jūsų sistemoje.

    Sąranka ir naudojimas

    Scenarijus gali būti patalpintas bet kurioje jūsų sistemos vietoje. Tada jums reikia tik sukurti nuorodą į „SendTo“ aplanką:

    Jei norite pradėti pakeitimo procesą, pasirinkite seną failą ir naują failą ir tuomet dešiniuoju pelės klavišu spustelkite parinktį Siųsti senas failas / failas, kurį norite pakeisti.

    Scenarijus parodys tiksliai, kas atsitiks, ir pateiks jums galimybę prisijungti, kai tik bus pakeistas.

    Scenarijus nuolat bandys ištrinti seną failą laukdamas kelias sekundes tarp bandymų.

    Viskas, ką jums reikia padaryti, yra gauti procesą ir, kai visi naudotojai yra išėję, failas bus pakeistas.

    Apsaugos priemonės

    Scenarijus turi keletą pastatytų apsaugos priemonių:

    • Senas failas ir naujas failas yra aiškiai pateikiami, kad tiksliai žinotumėte, kas nutiks.
    • Komandos langą galite uždaryti bet kuriuo metu, kad sustabdytumėte veiksmą (žinoma, darant prielaidą, kad pakeitimo jau nebuvo atlikta).
    • Scenarijus užtikrins, kad pasirinkote tik du failus, kai iškviečiate komandą Siųsti. Jei pasirinksite, pavyzdžiui, 1 ar 3 failus, gausite pranešimą apie pranešimą ir nieko nebus.

    Scenarijus

    @ECHO OFF TITLE Pakeiskite užrakintą failą ECHO Pakeiskite užrakintą failą ECHO Parašė: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM patvirtinimas. SET klaida = 1 IF % 2 ==  (ECHO turi būti parinkti du failai, kad galėtumėte pakeisti pakeitimą. GOTO pabaiga) IF NOT % 3 ==  (ECHO Pasirinkta daugiau nei 2 failai, todėl aš ne įsitikinkite, ką daryti GOTO pabaiga) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Rodyti, kas atsitiks, kad galėtumėte atšaukti. ECHO senas failas:% OldFile% ECHO --------- ECHO naujas failas:% NewFile% ECHO. ECHO Galite atšaukti senojo failo pakeitimą nauju failu uždarydami dabar. ECHO. REM Atsijungti. Jei nenorite matyti, galite ištrinti šias eilutes. ECHO automatiškai atsijungia, kai baigsite pakeitimo procesą? ECHO Įveskite „Y“, kad automatiškai atsijungtumėte arba įvestumėte ką nors ne. SET / P LogOffWhenDone =: „DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile% (MOVE% NewFile%% OldFile% ECHO failas pakeistas sėkmingai. GOTO End) ECHO. ECHO Senoji byla vis dar užrakinta. Laukiama, kol bandysite dar kartą. TIMEOUT / T 20 GOTO DoReplace: Pabaiga 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“ Pakeisti užrakintą failą ECHO ECHO Failas, kurį paspaudėte, 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 galimybė išeiti, kai baigtas buvo pasirinktas. ECHO Netrukus atsijungsite. SHUTDOWN / L) ENDLOCAL 

    Nuorodos

    Atsisiųskite „ReplaceFile Script“ iš „SysadminGeek.com“