Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Hilfe bei Dateiüberwachung benötigt!!

$
0
0

Hallo zusammen,

ich bräuchte mal eure Hilfe,

und zwar versuche ich gerade festzustellen, wann Änderungen an mehreren Datei gemacht wurden.

Ich habe ein Script gefunden, welches genau die Aufgabe übernimmt, die ich benötige:

cls
#Unregister-Event -SourceIdentifier *

$global:Path = Resolve-Path("C:\Users\Mitsch\Desktop\soltec\Daten\“)
$Folder = (Split-Path $Path)

$Filter = "*.dat"

$FSW = new-object system.io.filesystemwatcher # FileSystemWatcher erstellen
$FSW.Path = $Folder # zu überwachendes Verzeichnis übergeben
$FSW.IncludeSubdirectories = $True # Unterverzeichnisse einschließen? 
$FSW.Filter = $Filter # Filter für die Überwachung… 

function global:out_Text($txt) { Write-Host (“{0}” -f $txt) }

$OnCreate = { 
  $text = “Ereignis: [{0}] in {1} : {2:d}” –f    $eventArgs.ChangeType, 
    $eventArgs.FullPath, $Event.TimeGenerated 
  out_Text ($text) # Funktion out_Text aufrufen und Ausgabetext übergeben
}

$OnChange = {
  $text = “Ereignis: [{0}] in {1} : {2:d}” –f    $eventArgs.ChangeType, 
    $eventArgs.FullPath, $Event.TimeGenerated
  out_Text ($text) # Funktion out_Text aufrufen und Ausgabetext übergeben
}

$OnRename = {
  $text = “Ereignis: [{0}] in {1} : {2:d}” –f    $eventArgs.ChangeType, 
    $eventArgs.FullPath, $Event.TimeGenerated
  out_Text ($text) # Funktion out_Text aufrufen und Ausgabetext übergeben
}

$OnDelete = {
  $text = “Ereignis: [{0}] in {1} : {2:d}” –f    $eventArgs.ChangeType, 
    $eventArgs.FullPath, $Event.TimeGenerated
  out_Text ($text) # Funktion out_Text aufrufen und Ausgabetext übergeben
}

Register-ObjectEvent -InputObject $FSW `
-EventName Created -SourceIdentifier FileCreated -Action $OnCreate | Out-Null
Register-ObjectEvent -InputObject $FSW `
-EventName Changed -SourceIdentifier FileChanged -Action $OnChange | Out-Null
Register-ObjectEvent -InputObject $FSW `
-EventName Renamed -SourceIdentifier FileRenamed -Action $OnRename | Out-Null
Register-ObjectEvent -InputObject $FSW `
-EventName Deleted -SourceIdentifier FileDeleted -Action $OnDelete | Out-Null

Jetzt habe ich nur ein Problem:

Wenn ich eine Datei umbenenne, lösche und erstelle funktioniert alles wie es soll:

Es wird EINE Zeile ausgegeben!!!

Wenn ich nun hingegen in einer Datei etwas ändere, 

werden ZWEI Zeilen ausgegeben :-(


Weiß zufällig einer wo hier das Problem liegt???

Dann noch eine andere Frage,

für mich ist besonders von Interesse, wenn eine Datei verändert wurde!

Wie kann ich dies nun weiterverarbeiten??

Also wenn festgestellt wurde, dass sich etwas in der Datei geändert hat, möchte ich weitere Aktionen machen...

Vielen Dank im Vorraus 


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>