Skift enkelt en låst fil når den blir låst opp
Hvis du prøver å oppdatere visse Windows-filer (for eksempel programmer eller tekstdokumenter) mens de brukes, får du standardfeilen "tilgang nektet, filen er i bruk". Mens begrunnelsen bak dette er åpenbar, kan det være ganske irriterende hvis du trenger å oppdatere en liten kjørbar som for øyeblikket er i bruk av en annen bruker. I disse situasjonene har du blant annet følgende valg, som alle tar opp din verdifulle tid:
- Spor ned og kontakt brukerne som bruker filen, fortelle dem å lukke / lagre arbeidet etc. og deretter bruke oppdateringen.
- Ikke bruk oppdateringen umiddelbart, og husk å gjøre det senere når brukerne ikke er i systemet.
- Planlegg noe verktøy for å erstatte det ved neste omstart.
Vel, vi har en annen løsning tilgjengelig for deg: et skript du påkaller via Send til-menyen som gjør følgende:
- Trenger å slette den gamle filen.
- Hvis den gamle filen er låst, venter skriptet 20 sekunder. Gå til trinn 1.
- Hvis den gamle filen ikke er låst, erstattes den gamle filen med den nye filen. Gå til trinn 4.
- Eventuelt logger av når prosessen er ferdig.
På denne måten får du bare kommandoen erstattet, og skriptet tar vare på resten. Dette kan hjelpe deg med å unngå å spore brukere eller måtte installere unødvendige verktøy på systemet ditt.
Oppsett og bruk
Skriptet kan plasseres hvor som helst på systemet ditt. Så alt du trenger å gjøre er å lage en snarvei til den i SendTo-mappen din:
For å starte utskiftingsprosessen, velg den gamle filen og den nye filen og deretter på alternativet Send til ved å høyreklikke på gammel fil / fil som skal erstattes.
Skriptet vil vise nøyaktig hva som vil skje og presentere deg med muligheten til å bli logget av når erstatningen er fullført.
Skriptet vil kontinuerlig forsøke å slette den gamle filen mens du venter flere sekunder mellom forsøkene.
Alt du trenger å gjøre er å få prosessen kjørt, og når alle brukerne dine er ute, blir filen erstattet.
sikringstiltak
Skriptet har et par innebygde beskyttelsesforanstaltninger:
- Den gamle filen og den nye filen er tydelig presentert, slik at du vet nøyaktig hva som vil skje.
- Du kan lukke kommandofeltet når som helst for å stoppe handlingen (selvfølgelig, forutsatt at erstatningen ikke har blitt utført allerede).
- Skriptet sikrer at du har valgt bare to filer når du påkaller Send til-kommandoen. Hvis du for eksempel velger 1 eller 3 filer, vil du motta en varselmelding, og ingenting vil skje.
Manuset
@ECHO OFF TITLE Erstatt låst fil ECHO Erstatt låst fil ECHO Skrevet av: Jason Faulkner ECHO SysadminGeek.com ECHO. EKKO. SETLOCAL EnableExtensions REM Validation. SET Error = 1 IF % 2 == (ECHO To filer må velges for å kjøre erstattet. GOTO End) HVIS IKKE % 3 == (ECHO Mer enn 2 filer ble valgt, så jeg er ikke sikker på hva du skal gjøre. GOTO End) SET Feil = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Vis hva som vil skje slik at du har mulighet til å avbryte. ECHO Gammel fil:% OldFile% ECHO --------- ECHO Ny fil:% NewFile% ECHO. ECHO Du kan kansellere å bytte ut den gamle filen med den nye filen ved å lukke nå. EKKO. REM Logg ut ledetekst. Hvis du ikke vil se dette, kan du slette disse linjene. ECHO Logg automatisk av når bytteprosessen har fullført? ECHO Skriv inn 'Y' for automatisk å logge av eller skriv inn noe annet til ikke. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% HVIS IKKE EXISTER% OldFile% (MOVE% NewFile%% OldFile% ECHO File erstattet. GOTO End) ECHO. ECHO Den gamle filen er fortsatt låst. Venter et øyeblikk for å prøve igjen. TIMEOUT / T 20 GOTO DoReplace: Slutt IF % Feil% == 1 (ECHO Instruksjoner for bruk: ECHO 1. Velg de to filene i Windows Utforsker. ECHO 2. Høyreklikk på den gamle filen og send Send til - Erstatt låst fil ECHO. ECHO Filen du klikket på vil bli erstattet med den andre valgte filen. ECHO. ECHO Stopp uten å gjøre noe. Trykk på en hvilken som helst tast for å lukke. TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO. ECHO Alternativ til å logge av når du er ferdig valgt. ECHO Du vil bli logget av kort tid. SHUTDOWN / L) ENDLOCAL
lenker
Last ned ReplaceFile Script fra SysadminGeek.com