15Jul

Einfaches Ersetzen einer gesperrten Datei nach dem Entsperren

click fraud protection

Wenn Sie versuchen, bestimmte Windows-Dateien( z. B. Programme oder Word-Dokumente) zu aktualisieren, während sie verwendet werden, erhalten Sie den Standardfehler "Zugriff verweigert, Datei wird verwendet".Während die Gründe dafür offensichtlich sind, kann es ziemlich ärgerlich sein, wenn Sie eine kleine ausführbare Datei aktualisieren müssen, die gerade von einem anderen Benutzer verwendet wird. In diesen Situationen haben Sie unter anderem folgende Auswahlmöglichkeiten, die Ihre wertvolle Zeit in Anspruch nehmen:

  • Verfolgen und kontaktieren Sie die Benutzer, die die Datei gerade verwenden, sagen Sie ihnen, dass sie ihre Arbeit schließen oder speichern sollen, unddann wenden Sie das Update an.
  • Wenden Sie das Update nicht sofort an und denken Sie daran, es später zu tun, wenn sich Benutzer nicht im System befinden.
  • Planen Sie ein Dienstprogramm, um es beim nächsten Neustart zu ersetzen.

Nun, wir haben eine andere Lösung für Sie verfügbar: ein Skript, das Sie über das Senden an-Menü aufrufen, das folgendermaßen vorgeht:

instagram viewer
  1. Versucht, die alte Datei zu löschen.
  2. Wenn die alte Datei gesperrt ist, wartet das Skript 20 Sekunden. Gehen Sie zu Schritt 1.
  3. Wenn die alte Datei nicht gesperrt ist, wird die alte Datei durch die neue Datei ersetzt. Weiter mit Schritt 4.
  4. Optional abmelden, sobald der Vorgang abgeschlossen ist.

Auf diese Weise erhalten Sie nur den Befehl zum Ersetzen in Bewegung und das Skript kümmert sich um den Rest. Auf diese Weise können Sie verhindern, dass Benutzer ausfindig gemacht werden oder unnötige Dienstprogramme auf Ihrem System installiert werden müssen.

Setup und Verwendung

Das Skript kann an beliebiger Stelle auf Ihrem System installiert werden. Dann müssen Sie lediglich eine Verknüpfung zu Ihrem SendTo-Ordner erstellen:

Um den Ersetzungsprozess zu starten, wählen Sie die alte Datei und die neue Datei aus und rufen Sie die Option Senden an auf, indem Sie mit der rechten Maustaste auf die zu ersetzende -Datei klicken.

Das Skript zeigt genau an, was passieren wird, und zeigt Ihnen die Option an, nach Abschluss der Ersetzung abgemeldet zu werden.

Das Skript versucht kontinuierlich, die alte Datei zu löschen, während mehrere Sekunden zwischen den Versuchen gewartet werden.

Alles, was Sie tun müssen, ist, dass der Prozess läuft und wenn alle Ihre Benutzer aus sind, wird die Datei ersetzt.

Safeguards

Das Skript verfügt über einige integrierte Sicherheitsfunktionen:

  • Die alte Datei und die neue Datei werden übersichtlich dargestellt, damit Sie genau wissen, was passieren wird.
  • Sie können das Befehlsfenster jederzeit schließen, um die Aktion zu stoppen( vorausgesetzt, die Ersetzung wurde noch nicht durchgeführt).
  • Das Skript stellt sicher, dass Sie nur zwei Dateien ausgewählt haben, wenn Sie den Befehl Senden an aufrufen. Wenn Sie zum Beispiel 1 oder 3 Dateien auswählen, erhalten Sie eine Nachricht und es passiert nichts.

Das Skript

@ECHO OFF TITLE Ersetze gesperrte Datei ECHO Ersetze gesperrte Datei ECHO Geschrieben von: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.SETLOCAL EnableExtensions REM-Validierung. SET Fehler = 1 IF{ % 2} =={ }( ECHO Zwei Dateien müssen ausgewählt werden, um die Ersetzung auszuführen. GOTO Ende) IF NOT{ % 3} =={ }( ECHO Mehr als 2 Dateien wurden ausgewählt, also bin ich nichtGOTO Ende) SET Fehler = 0 SET OldFile = "% ~ f1" SET NewFile = "% ~ f2" SET LogOffWhenDone = 0 REM Zeige, was passieren wird, damit du die Chance hast abzubrechen. ECHO Alte Datei:% OldFile% ECHO --------- ECHO Neue Datei:% NewFile% ECHO.ECHO Sie können den Austausch der alten Datei durch die neue Datei abbrechen, indem Sie jetzt schließen. ECHO.REM Abmeldeaufforderung. Wenn Sie dies nicht sehen möchten, können Sie diese Zeilen löschen. ECHO Automatisch abmelden, sobald der Ersetzungsvorgang abgeschlossen ist? ECHO Geben Sie 'Y' ein, um sich automatisch abzumelden oder geben Sie etwas anderes ein. SET / P LogOffWhenDone =: DoReplace löschen DEL / F / Q% OldFile% IF NICHT EXIST% OldFile%( MOVE% NewFile%% OldFile% ECHO Datei erfolgreich ersetzt. GOTO Ende) ECHO.ECHO Die alte Datei ist immer noch gesperrt. Warten Sie einige Momente, um es erneut zu versuchen. TIMEOUT / T 20 GOTO DoReplace: Ende IF{ % Error%} =={ 1}( ECHO Gebrauchsanweisung: ECHO 1. Wählen Sie die beiden Dateien im Windows Explorer. ECHO 2. Klicken Sie mit der rechten Maustaste auf die alte Datei und gehen Sie auf Senden an -Gesperrte Datei ersetzen ECHO ECHO Die Datei, auf die Sie geklickt haben, wird durch die andere ausgewählte Datei ersetzt ECHO ECHO Stoppen ohne etwas zu tun Drücken Sie eine beliebige Taste zum Schließen TIMEOUT / T 15) IF / I{ % LogOffWhenDone%} =={Y}( ECHO. ECHO Option zum Abmelden, wenn sie abgeschlossen ist. ECHO Sie werden in Kürze abgemeldet. SHUTDOWN / L) ENDLOCAL

Verknüpfungen

Laden Sie ReplaceFile Script von SysadminGeek.com

herunter