Jeśli spróbujesz zaktualizować niektóre pliki systemu Windows (takie jak programy lub dokumenty tekstowe), gdy są one używane, otrzymasz standardowy błąd "odmowa dostępu, plik jest w użyciu". Chociaż rozumowanie jest oczywiste, może być dość irytujące, jeśli musisz zaktualizować mały plik wykonywalny, który jest aktualnie używany przez innego użytkownika. W takich sytuacjach masz między innymi następujące opcje, z których wszystkie podejmują cenny czas:
Mamy dla Ciebie inne rozwiązanie: skrypt wywoływany za pomocą menu Wyślij do, który wykonuje następujące czynności:
W ten sposób otrzymasz po prostu polecenie replace w ruchu, a skrypt zajmie się resztą. Może to pomóc w uniknięciu śledzenia użytkowników lub konieczności instalowania niepotrzebnych narzędzi w systemie.
Skrypt można umieścić w dowolnym miejscu w systemie. Następnie wystarczy utworzyć skrót do niego w folderze SendTo:
Aby rozpocząć proces zamiany, wybierz stary plik i nowy plik, a następnie wywołaj opcję Wyślij do, klikając prawym przyciskiem myszy stary plik / plik do zastąpienia.
Skrypt wyświetli dokładnie to, co się stanie i przedstawi ci opcję wylogowania po zakończeniu wymiany.
Skrypt będzie nieustannie próbował usunąć stary plik, czekając kilka sekund pomiędzy próbami.
Wystarczy, że proces zostanie uruchomiony, a ilekroć wszyscy użytkownicy się wycofają, plik zostanie zastąpiony.
Skrypt ma kilka wbudowanych zabezpieczeń:
@ECHO WYŁĄCZ TYTUŁ Wymień Zablokowany plik Wymień ECHO Zablokowany plik ECHO Napisane przez: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Validation. SET Error = 1 JEŻELI % 2 == (ECHO Dwa pliki muszą zostać wybrane, aby uruchomić zamianę GOTO End) JEŚLI NIE % 3 == (ECHO Wybrano więcej niż 2 pliki, więc nie jestem co zrobić, GOTO End) SET Error = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Pokaż, co się stanie, abyś miał szansę na anulowanie. Stary plik ECHO:% Stary plik% ECHO --------- Nowy plik ECHO:% NewFile% ECHO. ECHO Możesz anulować zastąpienie Starego pliku nowym plikiem, zamykając go teraz. ECHO. Pytanie wylogowania REM. Jeśli nie chcesz tego widzieć, możesz usunąć te linie. ECHO Automatycznie wylogować się po zakończeniu procesu zamiany? ECHO Wpisz "Y", aby automatycznie wylogować się lub wprowadzić cokolwiek innego, aby nie. SET / P LogOffWhenDone =: DoReplace DEL / F / Q% OldFile% IF NOT EXIST% OldFile% (MOVE% NewFile%% OldFile% Plik ECHO został zastąpiony pomyślnie GOTO End) ECHO. ECHO Stary plik jest nadal zablokowany. Czekam kilka chwil, aby spróbować ponownie. TIMEOUT / T 20 GOTO DoReplace: End IF % Error% == 1 (ECHO Instrukcja użycia: ECHO 1. Wybierz dwa pliki w Eksploratorze Windows ECHO 2. Kliknij prawym przyciskiem myszy stary plik i wybierz Wyślij do - Zastąp Zablokowany plik ECHO ECHO Prawy kliknięty plik zostanie zastąpiony innym wybranym plikiem ECHO ECHO Zatrzymanie bezczynności Naciśnij dowolny klawisz, aby zamknąć TIMEOUT / T 15) IF / I % LogOffWhenDone% == Y (opcja ECHO ECHO do wylogowania po wybraniu ECHO Niedługo wylogujesz się z programu SHUTDOWN / L) ENDLOCAL
Pobierz ReplaceFile Script z SysadminGeek.com