15Jul

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 å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:

  1. Trenger å slette den gamle filen.
  2. Hvis den gamle filen er låst, venter skriptet 20 sekunder. Gå til trinn 1.
  3. Hvis den gamle filen ikke er låst, erstattes den gamle filen med den nye filen. Gå til trinn 4.
  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) ENDLOCAL

Lenker

Last ned ReplaceFile Script fra SysadminGeek.com