Hjemmeside » hvordan » Nemt udskift en låst fil, når den bliver låst op

    Nemt udskift en låst fil, når den bliver låst op

    Hvis du forsøger at opdatere visse Windows-filer (f.eks. Programmer eller tekstdokumenter), mens de bruges, får du den standard "adgang nægtet, filen er i brug" -fejl. Mens begrundelsen bag dette er indlysende, kan det være ret irriterende, hvis du skal opdatere en lille eksekverbar, som i øjeblikket bruges af en anden bruger. I disse situationer har du blandt andet følgende valg, som alle tager højde for din værdifulde tid:

    • Spor ned og kontakt de brugere, der aktuelt bruger filen, fortæl dem at lukke / gemme deres arbejde osv. Og derefter anvende opdateringen.
    • Anvend ikke opdateringen med det samme, og husk at gøre det senere, når brugerne ikke er i systemet.
    • Planlæg et værktøj til at erstatte det ved næste genstart.

    Nå, vi har en anden løsning til rådighed for dig: et script du påkalder via menuen Send til, hvilket gør følgende:

    1. Forsøger at slette den gamle fil.
    2. Hvis den gamle fil er låst, venter scriptet 20 sekunder. Gå til trin 1.
    3. Hvis den gamle fil ikke er låst, erstattes den gamle fil med den nye fil. Gå til trin 4.
    4. Eventuelt log af, når processen er færdig.

    På denne måde får du bare kommandoen til erstatning, og scriptet tager sig af resten. Dette kan hjælpe dig med at undgå at spore brugere eller skal installere unødvendige værktøjer på dit system.

    Opsætning og brug

    Skriften kan placeres overalt på dit system. Så er alt du skal gøre, lav en genvej til den i din SendTo-mappe:

    For at starte udskiftningsprocessen skal du vælge den gamle fil og den nye fil og derefter aktivere Send til-indstillingen ved at højreklikke på gammel fil / fil, der skal erstattes.

    Skriften vil vise præcis, hvad der vil ske, og præsentere dig med muligheden for at blive logget af, når erstatningen er afsluttet.

    Scriptet vil løbende forsøge at slette den gamle fil, mens du venter flere sekunder imellem forsøg.

    Alt du skal gøre er at få processen kørende, og når alle dine brugere er ude, vil filen blive udskiftet.

    sikkerhedskontrol

    Scriptet har et par indbyggede sikkerhedsforanstaltninger:

    • Den gamle fil og den nye fil er tydeligt fremlagt, så du ved præcis, hvad der vil ske.
    • Du kan lukke kommandovinduet til enhver tid for at stoppe handlingen (selvfølgelig forudsat udskiftningen ikke allerede er udført).
    • Scriptet sikrer, at du kun har valgt to filer, når du påkalder kommandoen Send til. Hvis du f.eks. Vælger 1 eller 3 filer, modtager du en besked, og intet vil ske.

    Manuskriptet

    @ECHO OFF TITLE Udskift låst fil ECHO Udskift låst fil ECHO Skrevet af: Jason Faulkner ECHO SysadminGeek.com ECHO. EKKO. SETLOCAL EnableExtensions REM Validation. SET Error = 1 IF % 2 ==  (ECHO To filer skal vælges for at køre erstatningen. GOTO Slut) HVIS IKKE % 3 ==  (ECHO Mere end 2 filer blev valgt, så jeg er ikke sikker på hvad du skal gøre. GOTO Slut) SET Fejl = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Vis hvad der vil ske, så du har mulighed for at annullere. ECHO Gammel fil:% OldFile% ECHO --------- ECHO Ny fil:% NewFile% ECHO. ECHO Du kan annullere udskiftning af den gamle fil med den nye fil ved at lukke nu. EKKO. REM Log ud prompt. Hvis du ikke vil se dette, kan du slette disse linjer. ECHO Log automatisk af, når erstatningsprocessen er afsluttet? ECHO Indtast 'Y' for automatisk at logge af eller indtaste noget andet til ikke. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% HVIS IKKE EXISTERET% OldFile% (MOVE% NewFile%% OldFile% ECHO Fil erstattes med succes. GOTO End) ECHO. ECHO Den gamle fil er stadig låst. Venter et par øjeblikke for at prøve igen. TIMEOUT / T 20 GOTO DoReplace: Afslut IF % Error% == 1 (ECHO Instruktioner til brug: ECHO 1. Vælg de to filer i Windows Stifinder. ECHO 2. Højreklik på den gamle fil og send Send til - Udskift låst fil ECHO. ECHO Den fil, du højre klikker på, vil blive erstattet med den anden valgte fil. ECHO. ECHO Stop uden at gøre noget. Tryk på en vilkårlig tast for at lukke. TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO. ECHO Mulighed for at logge af, når den er udført, blev valgt. ECHO Du bliver straks logget af. SHUTDOWN / L) ENDLOCAL 

    Links

    Download ReplaceFile Script fra SysadminGeek.com