Domovská » jak » Snadno nahradit uzamčený soubor, jakmile se odemkne

    Snadno nahradit uzamčený soubor, jakmile se odemkne

    Pokud se pokoušíte aktualizovat některé soubory systému Windows (například programy nebo slovní dokumenty), když se používají, zobrazí se standardní chyba "přístup byl odepřen, soubor je v provozu". Zatímco odůvodnění je zřejmé, může to být docela nepříjemné, pokud potřebujete aktualizovat malý spustitelný soubor, který je v současné době používán jiným uživatelem. V těchto situacích máte mezi jinými následující možnosti, které všechny zaujmou váš drahocenný čas:

    • Sledujte a kontaktujte uživatele, kteří aktuálně používají tento soubor, sdělte jim, aby uzavřeli / ukládali svou práci apod. A poté aktualizaci aplikujte.
    • Aktualizaci nepoužívejte okamžitě a nezapomeňte ji provést později, když uživatelé nejsou v systému.
    • Naplánujte některou utilitu, kterou chcete nahradit při dalším restartu počítače.

    Máme k dispozici další řešení: skript, který vyvoláte pomocí nabídky Odeslat do, který provede následující:

    1. Pokouší se odstranit starý soubor.
    2. Pokud je starý soubor uzamčen, skript čeká 20 sekund. Přejděte ke kroku 1.
    3. Pokud starý soubor není uzamčen, starý soubor je nahrazen novým souborem. Přejděte ke kroku 4.
    4. Po dokončení procesu se odhlaste.

    Tímto způsobem dostanete výhradně příkaz nahrazení a skript se postará o ostatní. To vám může pomoci vyhnout se sledování uživatelů nebo nutnosti instalace zbytečných nástrojů do vašeho systému.

    Nastavení a použití

    Skript lze umístit kdekoli ve vašem systému. Poté stačí vytvořit zástupce ve složce SendTo:

    Chcete-li spustit proces výměny, vyberte starý soubor a nový soubor a poté klikněte na možnost Odeslat do starý soubor / soubor, který chcete nahradit.

    Skript zobrazí přesně to, co se stane, a po dokončení výměny vám předvede možnost odhlásit se.

    Skript se bude neustále pokoušet odstranit starý soubor během čekání několika sekund mezi pokusy.

    Jediné, co musíte udělat, je spustit proces a kdykoli jsou všichni vaši uživatelé, soubor bude nahrazen.

    Záruky

    Scénář má několik vestavěných záruk:

    • Starý soubor a nový soubor jsou jasně představeny, abyste přesně věděli, co se stane.
    • Okno příkazu můžete kdykoli ukončit, aby se akce zastavila (samozřejmě za předpokladu, že výměna již nebyla provedena).
    • Skript zajistí, že jste vybrali pouze dva soubory při vyvolání příkazu Odeslat. Pokud vyberete například 1 nebo 3 soubory, obdržíte upozornění a nic se nestane.

    Scénář

    @ECHO OFF TITLE Nahrazení uzamčeného souboru ECHO Nahrazení uzamčeného souboru ECHO Napsal: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions Validace REM. Chyba SET = 1 Pokud % 2 ==  (ECHO dva soubory musí být vybrány pro spuštění nahrazení.) GOTO End) Pokud není % 3 ==  (ECHO bylo vybráno více než 2 soubory, GOTO End) Chyba SET = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Ukažte, co se stane, abyste měli možnost zrušit. Starší soubor ECHO:% OldFile% ECHO --------- ECHO Nový soubor:% NewFile% ECHO. ECHO Můžete zrušit nahrazení starého souboru novým souborem uzavřením. ECHO. REM výzva k odhlášení. Nechcete-li to vidět, můžete tyto řádky smazat. ECHO Automatické odhlášení po ukončení procesu výměny? ECHO Zadejte "Y", chcete-li se automaticky odhlásit nebo zadat něco jiného, ​​abyste ne. SETUP / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% JAK NEVYSTAVUJE% OldFile% (MOVE% NewFile%% OldFile% ECHO soubor byl úspěšně nahrazen. ECHO Starý soubor je stále uzamčen. Několik okamžiků čeká, než to zkusí znovu. TIMEOUT / T 20 GOTO DoReplace: Konec IF % Error% == 1 (ECHO Návod k použití: ECHO 1. Vyberte dva soubory v Průzkumníku Windows.ECHO 2. Klikněte pravým tlačítkem myši na starý soubor a přejděte Send To - Nahraďte soubor ECHO s uzamčeným souborem ECHO Soubor, na který jste klikli pravým tlačítkem, bude nahrazen jiným vybraným souborem ECHO ECHO Zastaví se, aniž byste udělali cokoli Stiskněte libovolné tlačítko pro ukončení TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (ECHO, Možnost ECHO pro odhlášení při dokončení výběru.) ECHO Budete brzy odhlášeni. 

    Odkazy

    Stáhnout soubor ReplaceFile Script ze serveru SysadminGeek.com