Startpagina » hoe » Vervang eenvoudig een vergrendeld bestand zodra het ontgrendeld is

    Vervang eenvoudig een vergrendeld bestand zodra het ontgrendeld is

    Als u bepaalde Windows-bestanden (zoals programma's of Word-documenten) probeert bij te werken terwijl ze in gebruik zijn, krijgt u de foutmelding "Toegang geweigerd, bestand is in gebruik". Hoewel de redenering hierachter duidelijk is, kan het behoorlijk vervelend zijn als je een klein uitvoerbaar bestand moet bijwerken dat momenteel door een andere gebruiker wordt gebruikt. In deze situaties hebt u, onder andere, de volgende keuzes, die allemaal uw waardevolle tijd opnemen:

    • Zoek op en neem contact op met de gebruikers die het bestand momenteel gebruiken, vertel hen om hun werk af te sluiten / op te slaan, enz. En pas dan de update toe.
    • Pas de update niet onmiddellijk toe en onthoud dat u deze later moet doen wanneer gebruikers zich niet in het systeem bevinden.
    • Plan een hulpprogramma om het te vervangen bij de volgende keer opnieuw opstarten.

    Welnu, we hebben een andere oplossing voor u beschikbaar: een script dat u oproept via het menu Verzenden naar, dat het volgende doet:

    1. Probeert het oude bestand te verwijderen.
    2. Als het oude bestand is vergrendeld, wacht het script 20 seconden. Ga naar stap 1.
    3. Als het oude bestand niet is vergrendeld, wordt het oude bestand vervangen door het nieuwe bestand. Ga naar stap 4.
    4. Meld u eventueel af zodra het proces is voltooid.

    Op deze manier krijg je gewoon het vervangcommando in beweging en zorgt het script voor de rest. Hiermee kunt u voorkomen dat u gebruikers opspoort of onnodige hulpprogramma's op uw systeem installeert.

    Installatie en gebruik

    Het script kan overal op uw systeem worden geplaatst. Alles wat u hoeft te doen, is dan een snelkoppeling naar uw SendTo-map maken:

    Om het vervangingsproces te starten, selecteert u het oude bestand en het nieuwe bestand en roept u vervolgens de optie Verzenden naar aan door met de rechtermuisknop op de knop te klikken oude bestand / bestand om te vervangen.

    Het script geeft precies weer wat er zal gebeuren en biedt u de mogelijkheid om uitgelogd te worden zodra de vervanging is voltooid.

    Het script probeert het oude bestand voortdurend te verwijderen terwijl het een aantal seconden tussen de pogingen wacht.

    Het enige wat u hoeft te doen is het proces draaiende krijgen en wanneer al uw gebruikers weg zijn, wordt het bestand vervangen.

    Waarborgen

    Het script heeft een aantal ingebouwde beveiligingen:

    • Het oude bestand en het nieuwe bestand worden duidelijk weergegeven zodat u precies weet wat er zal gebeuren.
    • U kunt het opdrachtvenster op elk gewenst moment sluiten om de actie te stoppen (natuurlijk, ervan uitgaande dat de vervanging nog niet is uitgevoerd).
    • Het script zorgt ervoor dat u slechts twee bestanden hebt geselecteerd wanneer u de opdracht Verzenden naar aanroept. Als u bijvoorbeeld 1 of 3 bestanden selecteert, ontvangt u een melding en gebeurt er niets.

    Het script

    @ECHO OFF TITLE Vervang vergrendeld bestand ECHO Vervang vergrendeld bestand ECHO Geschreven door: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Validation. SET Fout = 1 ALS % 2 ==  (ECHO Twee bestanden moeten worden geselecteerd om de vervanging uit te voeren. GOTO Einde) INDIEN NIET % 3 ==  (ECHO Er zijn meer dan 2 bestanden geselecteerd, dus ik ben niet GOTO Einde) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Laat zien wat er gebeurt, zodat u de kans krijgt om te annuleren. ECHO Oud bestand:% OldFile% ECHO --------- ECHO Nieuw bestand:% NewFile% ECHO. ECHO U kunt annuleren door het oude bestand te vervangen door het nieuwe bestand door het nu te sluiten. ECHO. REM Login prompt. Als u dit niet wilt zien, kunt u deze regels verwijderen. ECHO Automatisch afmelden zodra het vervangingsproces is voltooid? ECHO Voer 'Y' in om automatisch uit te loggen of iets anders in te voeren om niet te doen. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile% (MOVE% NewFile%% OldFile% ECHO File succesvol vervangen GOTO End) ECHO. ECHO Het oude bestand is nog steeds vergrendeld. Even wachten om het opnieuw te proberen. TIMEOUT / T 20 GOTO DoReplace: Einde IF % Error% == 1 (ECHO Gebruiksaanwijzing: ECHO 1. Selecteer de twee bestanden in Windows Explorer ECHO 2. Klik met de rechtermuisknop op het oude bestand en ga naar Verzenden naar - Vervang geblokkeerd bestand ECHO ECHO Het bestand waarop u rechts hebt geklikt wordt vervangen door het andere geselecteerde bestand ECHO ECHO Stoppen zonder iets te doen Druk op een toets om te sluiten TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO ECHO-optie om uit te loggen wanneer voltooid, werd geselecteerd ECHO U wordt binnenkort uitgelogd.) SHUTDOWN / L) ENDLOCAL 

    Links

    Download ReplaceFile Script van SysadminGeek.com