mrsecret99
Goto Top

Popup Meldung bei neuer Datei in einem Netzlaufwerken

Hallo zusammen,

ich hoffe jemand kann mir bei meinem Problem helfen?

Folgende Gegebenheit:

Mehrere User teilen sich auf einen Netzlaufwerk einen Ordner, in dem mehrere Aufträge abgelegt werden.
Ich würde gerne mittels Batch /VBS Datei folgendes realisieren wollen:

Der User-X soll per Popup Message jedes Mal benachrichtigt werden, wenn eine neue .pdf Datei im Ordner abgelegt wird.

Leider komm ich in dieser Thematik nicht weiter! Und hoffe auf mögliche Lösungsansätze.

Vielen Dank im Voraus!

Content-Key: 518977

Url: https://administrator.de/contentid/518977

Printed on: April 16, 2024 at 08:04 o'clock

Member: BassFishFox
BassFishFox Nov 25, 2019 at 16:59:33 (UTC)
Goto Top
Hi,

-> http://www.libertyrecording.com/FAM_main.htm

Oder halt nach "watch directory" per Suchmaschine nach anderem Krams Ausschau halten.

BFF
Member: beidermachtvongreyscull
beidermachtvongreyscull Nov 25, 2019 at 18:46:13 (UTC)
Goto Top
Zitat von @MrSecret99:

Hallo zusammen,
Mahlzeit!

ich hoffe jemand kann mir bei meinem Problem helfen?

Folgende Gegebenheit:

Mehrere User teilen sich auf einen Netzlaufwerk einen Ordner, in dem mehrere Aufträge abgelegt werden.
Ich würde gerne mittels Batch /VBS Datei folgendes realisieren wollen:

Der User-X soll per Popup Message jedes Mal benachrichtigt werden, wenn eine neue .pdf Datei im Ordner abgelegt wird.

Leider komm ich in dieser Thematik nicht weiter! Und hoffe auf mögliche Lösungsansätze.
Ein vollwertiges Script kann ich Dir derzeit nicht anbieten, aber folgende Ansätze:
  • Das Script soll nach dem Starten im Hintergrund laufen und den Ordner überwachen. --> Endlosschleife (kann bedingungslos mit do...loop gemacht werden)
  • Du überwachst ein Netzwerkshare. Wenn es möglich ist würde ich das Script so einstellen, dass mit jedem Durchlauf die Dateien gezählt werden und der Wert in einer Variablen festgehalten wird. Der erste Durchlauf darf dabei diese noch nicht auswerten. Ab dem zweiten Durchlauf erfolgt der Vergleich Anzahl_vorher Anzahl_jetzt. Wenn Anzahl_jetzt größer, dann Popup_Neue_Datei, sonst nix.
  • Damit zwischen den Durchläufen etwas Ruhe einkehrt, lässt Du das Script nach jedem Durchlauf für eine Zeit x einschlafen (WScript.Sleep)

Dieser Ansatz berücksichtigt lediglich, dass neue Dateien hinzukommen und dies auch erwartet wird.



Vielen Dank im Voraus!

Gerne doch.
Member: rubberman
rubberman Nov 25, 2019 updated at 22:00:30 (UTC)
Goto Top
Batch ist für so etwas ungeeignet. In VBScript funktionieren WMI Notification Queries soweit ich weiß nur lokal. Du könntest aber PowerShell Code hidden (ohne Fenster) in einem VBScript ausführen.
Option Explicit
CreateObject("WScript.Shell").Run _  
  "powershell.exe -nop -ep Bypass -c ""Add-Type -AssemblyName PresentationFramework;" & _  
  "$FSWatcher=New-Object System.IO.FileSystemWatcher;" & _  
  "$FSWatcher.Path='Z:\sharedfolder';" & _  
  "$FSWatcher.IncludeSubdirectories=$false;" & _  
  "$FSWatcher.Filter='*.pdf';" & _  
  "$FSWatcher.EnableRaisingEvents=$true;" & _    
  "$FSWatcher.InternalBufferSize=65536;" & _  
  "$FSWatcher.NotifyFilter=1;" & _  
  "$null=Register-ObjectEvent $FSWatcher 'Created' -Action {[System.Windows.MessageBox]::Show($Event.SourceEventArgs.FullPath,'Neue Datei', 0, 0x40, 0, 0x200000)};" & _  
  "While ($true) {Sleep 10;}""" , 0, False  
Das Script läuft auf dem Rechner von User-X. Pathentsprechend anpassen (die einfachen Anführungszeichen müssen erhalten bleiben). IncludeSubdirectoriesauf $truesetzen, falls Unterverzeichnisse mit überwacht werden sollen. Rest sollte passen.

Steffen