Batch - Datei zum abfangen einer Datei inkl. Abfrage
Guten Tag,
da ich bisher noch nichts vergleichbares gefunden habe und blutiger Anfänger in diesem Gebiet bin wende ich mich an euch
Ich brauche eine Batch Datei die es mir ermöglicht 2 Dateien abzufangen dann eine Abfrage zu starten und diese 2 Dateien je nach Auswahl der Abfrage weiterzuschicken oder zu löschen.
Danke im Voraus.
Gruß Max
da ich bisher noch nichts vergleichbares gefunden habe und blutiger Anfänger in diesem Gebiet bin wende ich mich an euch
Ich brauche eine Batch Datei die es mir ermöglicht 2 Dateien abzufangen dann eine Abfrage zu starten und diese 2 Dateien je nach Auswahl der Abfrage weiterzuschicken oder zu löschen.
Danke im Voraus.
Gruß Max
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 381109
Url: https://administrator.de/contentid/381109
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
9 Kommentare
Neuester Kommentar
Sorry, aber deine Frage enthält keine brauchbaren Informationen um eine Antwort geben zu können.
Von welchem Betriebssystem und Umfeld reden wir?
Steffen
abzufangen
Von wo, was bedeutet das genau?je nach Auswahl der Abfrage
Was für eine Abfrage? Dateiname, Dateiinhalt, welche Art von Datei, ...?weiterzuschicken
Email? Wenn ja wie (POP3, ...)?Von welchem Betriebssystem und Umfeld reden wir?
Steffen
Was ich schon mal sagen kann, ist, das macht man keinesfalls mit Batch. Hier muss ein Creation Event abgefangen werden. Geht sicherlich mit Powershell, VBScript, JScript, ... mit WMI Unterstützung. Wenn ich nach Feierabend Zeit habe und du noch keine Lösung bekommen hast, schreibe ich die paar Zeilen. However, es wird dich nicht davor schützen, dass just imselben Moment wo das Script die Datei verschieben will, dein anderes Programm um die Ecke kommt um die Daten abzuholen. Ich kann nur empfehlen die Verzeichnisse wo die Dateien erstellt werden und wo sie vom anderen Programm abgeholt werden sollen, zukünftig strikt zu trennen. Sonst geht das definitiv in die Hose.
Steffen
Steffen
Nein, wie oben bereits geschrieben musst du Events überwachen.
VBScript (.vbs)
Das Script rennt in einem wscript.exe Prozess ohne Fenster. Die beiden Pfade müssen vorab existieren. Bereits vor dem Start vorhandene Dateien werden nicht verschoben. Sollte eine Datei mit gleichem Name bereits im Zielverzeichnis existieren, bricht das Script mit Fehlermeldung ab.
Steffen
die mir die zwei Dateien verschiebt.
Von mir aus auch einfach nur verschieben. Macht kaum einen Unterschied.VBScript (.vbs)
Option Explicit
Const Source = "X:\Neuer Ordner"
Const Destination = "X:\Neuer Ordner 1"
Dim oFSO, oEvent, colEvents
Dim sDrive, sFolder
Set oFSO = CreateObject("Scripting.FileSystemObject")
sDrive = oFSO.GetDriveName(Source)
sFolder = Replace(Mid(Source, 3) & "\", "\", "\\", 1, -1, vbTextCompare)
Set colEvents = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2").ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent" _
& " WITHIN 1" _
& " WHERE Targetinstance ISA 'CIM_DataFile'" _
& " AND TargetInstance.Drive='" & sDrive & "'" _
& " AND TargetInstance.Path='" & sFolder & "'")
Do
Set oEvent = colEvents.NextEvent()
If StrComp(oFSO.GetExtensionName(oEvent.TargetInstance.Name), "dfd", 1) = 0 Or StrComp(oFSO.GetExtensionName(oEvent.TargetInstance.Name), "dfx", 1) = 0 Then
oFSO.MoveFile oEvent.TargetInstance.Name, Destination & "\" & oFSO.GetFileName(oEvent.TargetInstance.Name)
End If
Loop
Steffen