Hemsida » hur » Byt enkelt en låst fil när den blivit upplåst

    Byt enkelt en låst fil när den blivit upplåst

    Om du försöker uppdatera vissa Windows-filer (t.ex. program eller orddokument) medan de används, får du standardfelet "åtkomst nekad, filen är i bruk". Medan resonemanget bakom detta är uppenbart kan det vara ganska irriterande om du behöver uppdatera en liten körbar som för närvarande används av en annan användare. I dessa situationer har du bland annat följande val, som alla tar upp din värdefulla tid:

    • Spåra ner och kontakta användarna som använder filen, berätta för dem att stänga / spara jobbet etc. och sedan tillämpa uppdateringen.
    • Använd inte uppdateringen omedelbart och kom ihåg att göra det senare när användare inte är i systemet.
    • Planera något verktyg för att ersätta det vid nästa omstart.

    Tja, vi har en annan lösning tillgänglig för dig: ett skript du anropar via menyn Skicka till, vilket gör följande:

    1. Försöker att ta bort den gamla filen.
    2. Om den gamla filen är låst väntar manuset 20 sekunder. Gå till steg 1.
    3. Om den gamla filen inte är låst ersätts den gamla filen med den nya filen. Gå till steg 4.
    4. Eventuellt logga av när processen är klar.

    På så sätt får du bara kommandot ersätta kommandot och skriptet tar hand om resten. Det här kan hjälpa dig att undvika att spåra användare eller behöva installera onödiga verktyg på ditt system.

    Inställning och användning

    Skriptet kan placeras var som helst på ditt system. Då behöver du bara skapa en genväg till den i din SendTo-mapp:

    För att starta ersättningsprocessen väljer du den gamla filen och den nya filen och sedan aktiverar alternativet Skicka till genom att högerklicka på gammal fil / fil som ska ersättas.

    Skriptet kommer att visa exakt vad som kommer att hända och presentera möjligheten att bli avloggad när ersättningen är klar.

    Skriptet kommer kontinuerligt att försöka radera den gamla filen medan du väntar flera sekunder mellan försök.

    Allt du behöver göra är att få processen igång och när alla dina användare är ute kommer filen att ersättas.

    garantier

    Skriptet har ett par inbyggda skyddsåtgärder:

    • Den gamla filen och den nya filen presenteras tydligt så du vet exakt vad som händer.
    • Du kan när som helst stänga kommandofönstret för att stoppa åtgärden (naturligtvis förutsatt att ersättningen inte har utförts redan).
    • Skriptet säkerställer att du bara har valt två filer när du anropar kommandot Skicka till. Om du t.ex. väljer 1 eller 3 filer får du ett meddelande och ingenting kommer att hända.

    Manuset

    @ECHO OFF TITLE Byt låst fil ECHO Byt låst fil ECHO Skrivet av: Jason Faulkner ECHO SysadminGeek.com ECHO. EKO. SETLOCAL EnableExtensions REM Validation. SET Error = 1 IF % 2 ==  (ECHO Två filer måste väljas för att köra ersätt. GOTO Slut) OM INTE % 3 ==  (ECHO Mer än 2 filer valdes så jag är inte Säkerställ vad du ska göra. GOTO Slut) SET-fel = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Visa vad som kommer att hända så att du har möjlighet att avbryta. ECHO Old File:% OldFile% ECHO --------- ECHO Ny fil:% NewFile% ECHO. ECHO Du kan avbryta ersättning av den gamla filen med den nya filen genom att stänga nu. EKO. REM Log off prompt. Om du inte vill se detta kan du radera dessa rader. ECHO Logga ut automatiskt när ersättningsprocessen har slutförts? ECHO Ange 'Y' för att automatiskt logga av eller ange något annat för att inte. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% OM INTE EXISTERAD% OldFile% (Flytta% NewFile%% OldFile% ECHO Fil ersattes med framgång. GOTO Slut) ECHO. ECHO Den gamla filen är fortfarande låst. Väntar några minuter att försöka igen. TIMEOUT / T 20 GOTO DoReplace: Sluta IF % Error% == 1 (ECHO Instruktioner för användning: ECHO 1. Välj de två filerna i Utforskaren. ECHO 2. Högerklicka på den gamla filen och gå till - Byt ut låst fil ECHO. ECHO Filen du högerklickade på kommer att ersättas med den andra valda filen. ECHO. ECHO Stoppar utan att göra något. Tryck på valfri knapp för att stänga. TIMEOUT / T 15) OM / I % LogOffWhenDone% == Y (ECHO. ECHO Alternativ att logga av när du är klar vald. ECHO Du kommer att loggas av inom kort. SHUTDOWN / L) ENDLOCAL 

    länkar

    Hämta ReplaceFile Script från SysadminGeek.com