Ist es möglich, eine Bat-Datei beim automatischen Speichern von Dateien in Windows auszuführen?

Ist es möglich, eine Bat-Datei beim automatischen Speichern von Dateien in Windows auszuführen?

Jedes Mal, wenn ich eine Datei ändere, muss ich sie manuell in einen anderen Ordner kopieren, damit die aktualisierte Version dort vorhanden ist. Ich weiß, dass das geht mklink, aber in meinem Fall ist das nicht machbar.

Gibt es eine Möglichkeit, eine Bat-Datei an das Ereignis einer Datei in Windows anzuhängen save? Denn wenn das möglich ist, kann ich eine Bat-Datei erstellen, um die Datei automatisch zu kopieren. Wenn nicht, welche anderen Optionen habe ich möglicherweise, außer … mklink?

Antwort1

Sie können dies in Powershell tun.

Holen Sie sich zunächst den FileSystemWatcher von hier:https://gallery.technet.microsoft.com/scriptcenter/Powershell-FileSystemWatche-dfd7084b

Sie brauchen das alles nicht – ich habe es auf Folgendes reduziert, was für Sie funktionieren sollte:

$destination = "\\Location\file\should\go" 
$folder = 'c:\scripts\test' # Enter the root path you want to monitor. 
$filter = '*.*'  # Enter filename here. 
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{IncludeSubdirectories = $false;NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'} 
Register-ObjectEvent $fsw Changed -SourceIdentifier FileChanged -Action  
{ 
$name = $Event.SourceEventArgs.Name 
Copy-Item $name $destination -force
} 

Dies sollte nur ausgelöst werden, wenn eine Änderung an der Datei erkannt wird.

Ich habe das nicht getestet, aber es sollte nahe genug herankommen, um Ihnen den Einstieg zu erleichtern.

Sie müssten diesen Teil der Powershell bei jedem Start der Maschine ausführen; ein Startelement oder eine geplante Aufgabe zum Starten würde genügen.

Antwort2

Ich würde empfehlen,KostenloseFileSyncum diese Datei synchronisiert zu halten. FreeFileSync hat ein Zusatztool namens RealtimeSync, das jedes Mal eine Synchronisierungsaufgabe auslöst, wenn es eine Änderung in einem bestimmten Ordner erkennt. Sie müssen nur eine Synchronisierungsaufgabe für diese Datei erstellen und dann RealtimeSync mit dieser Aufgabe ausführen, und sie wird bei jeder Änderung „automatisch“ kopiert.

Ein vollständiges Tutorial finden Sie unterSo synchronisieren Sie Dateien und Ordner mit FreeFileSync in Windows

Wichtiger Hinweis: Obwohl FreeFileSync Open Source ist und unter der GPL lizenziert ist, wird es mit OpenCandy PUP/PUA gebündelt. Installieren Sie es also entweder mit deaktivierter Netzwerkverbindung oder stellen Sie sicher, dass Sie das Crapware-Installationsangebot deaktivieren. Sie können das Installationsprogramm auch einfach mit 7zip oder PeaZip entpacken und es ohne Installation ausführen.

verwandte Informationen