Könnte als VBScript grob so aussehen (Achtung KI erstellt ;-))
PDFs dürfen keine Leerzeichen im Dateinamen haben, Pfade, Adressat müssten angepasst werden. Die Smileys sind eine Acht mit Klammer zu.
Option Explicit
' Pfad zum Verzeichnis mit den PDF-Dateien
Const SourcePath = "C:\MeinVerzeichnis\"
' Zielpfad für die Ausgabedateien
Const TargetPath = "c:\david\apps\faxware\out\api\"
' Erstellen des FileSystemObject
Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")
' Überprüfen, ob das Quellverzeichnis existiert
If Not objFSO.FolderExists(SourcePath) Then
WScript.Echo "Das Verzeichnis " & SourcePath & " existiert nicht."
WScript.Quit
End If
' Überprüfen, ob der Zielpfad existiert und ggf. erstellen
If Not objFSO.FolderExists(TargetPath) Then
objFSO.CreateFolder TargetPath
End If
' Erstellen des Ordners als Objekt
Dim objFolder : Set objFolder = objFSO.GetFolder(SourcePath)
' Schleife durch alle Dateien im Ordner
Dim objFile, fileName, fileExt, targetFilePath, objTargetFile
For Each objFile In objFolder.Files
' Überprüfen, ob die Datei eine PDF-Datei ist
fileName = objFSO.GetBaseName(objFile)
fileExt = objFSO.GetExtensionName(objFile)
If LCase(fileExt) = "pdf" Then
' Erstellen eines zufälligen Dateinamens für die Zieltextdatei (8 Zeichen)
Dim randomName : randomName = Left(CreateObject("Scriptlet.TypeLib").GUID, & ".txt"
targetFilePath = objFSO.BuildPath(TargetPath, randomName)
' Öffnen der Zieltextdatei im Anhang-Modus oder Neuerstellung falls noch nicht vorhanden
If Not objFSO.FileExists(targetFilePath) Then
Set objTargetFile = objFSO.CreateTextFile(targetFilePath)
Else
Set objTargetFile = objFSO.OpenTextFile(targetFilePath,
End If
'Hier wird dann der Job generiert
objTargetFile.WriteLine("@@nmr Benutzer@meine.domain")
objTargetFile.WriteLine("@@subject Bitte dieses PDF bearbeiten")
objTargetFile.WriteLine(" Das ist dann der Text der in der Mail steht, kann u.U. nur im Plain Text angezeigt werden")
' Schreiben des Dateinamens in die Zieltextdatei
objTargetFile.WriteLine("@@Attach " & SourcePath & fileName & "." & fileExt & " , del")
' Schließen der Zieltextdatei und Aufräumen der Variablen und Objekte
objTargetFile.Close
Set objTargetFile = Nothing
End If
Next
' Umbenennen der Ausgabedateien, um nur die Erweiterung zu entfernen
Dim newFileName : Dim newFilePath : Dim oldFileName : Dim sourceFilePath
Set objFolder = objFSO.GetFolder(TargetPath)
For Each objFile In objFolder.Files
' Überprüfen, ob die Datei eine TXT-Datei ist
oldFileName = objFSO.GetFileName(objFile)
fileName = objFSO.GetBaseName(objFile)
fileExt = objFSO.GetExtensionName(objFile)
If LCase(fileExt) = "txt" Then
newFileName = filename
targetFilePath = objFSO.BuildPath(TargetPath, newFileName)
sourceFilePath = objFSO.BuildPath(TargetPath, oldFileName)
If objFSO.FileExists(targetFilePath) Then
objFSO.DeleteFile targetFilePath
End If
objFSO.MoveFile sourceFilePath, targetFilePath
End If
Next
Set objFolder = Nothing
Set objFSO = Nothing