15Jul
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 åpenbart, 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. ogbruk deretter 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.
- 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.
Oppsett og bruk
Skriptet kan plasseres hvor som helst på systemet ditt. Da trenger du bare å lage en snarvei til den i SendTo-mappen din:
For å starte utskiftingsprosessen, velg den gamle filen og den nye filen og deretter på Send til-alternativet ved å høyreklikke på gammel fil / fil for å erstatte.
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 prøve å 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.
Beskyttere
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 allerede er utført).
- 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.
Skriptet
@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 erstatningen. GOTO End) HVIS IKKE{ % 3} =={ }( ECHO Mer enn 2 filer ble valgt, så jeg er ikkesikker 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 å erstatte 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 GJENTE% 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 ble valgt. ECHO Du vil bli logget av kort. SHUTDOWN / L) ENDLOCALLenker
Last ned ReplaceFile Script fra SysadminGeek.com