Zur Beschleunigung meiner Batch-Scans in Windows XP habe ich mir ein kleines .vbs Script mit nativem Windows Save Dialog angelegt. Es funktioniert perfekt, aber leider kommt die /batchscan Option mit Dateinamen, die ein Komma enthalten, nicht klar, auch dann nicht, wenn man den Dateinamen in Anführungszeichen setzt:
C:\programme\irfanview\i_view32.exe /batchscan=("C:\temp\Meine Scandatei, Seite ",1,1,2,1,,gif,0) /dpi=(150,150)
Das erwartete Ergebnis ist folgende Datei: "C:\temp\Meine Scandatei, Seite 1"
Unter Windows ist ein Komma ein erlaubtes Zeichen für Dateinamen. Sobald der Dateiname in Anführungszeichen steht, sollte Irfanview die Bestandteile des Dateinamens nicht mehr als Teil der Batchscan-Optionen auswerten. Mit anderen Worten: Erst Anführungszeichen, dann Komma auswerten. Gerade bei der Batch-Scan Option verwende ich ständig Kommas im Dateinamen, um die Seitenzahl abzugrenzen.
Hier noch das gesamte Script, aber für das Problem spielt es keine Rolle (ja, es fehlen noch die Anführungszeichen um den Dateinamen, aber auch mit Anführungszeichen funktioniert es nicht)
Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
objDialog.FileName = "C:\Dokumente und Einstellungen\User\Eigene Dateien\Scans\ScanDateiname"
objDialog.FileType = "gif"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
Set sh = CreateObject("WScript.Shell")
sh.Run("C:\programme\irfanview\i_view32.exe /batchscan=(" + objDialog.FileName + ",1,1,2,1,,gif,0) /dpi=(150,150)")
Else
Wscript.Quit
End If
C:\programme\irfanview\i_view32.exe /batchscan=("C:\temp\Meine Scandatei, Seite ",1,1,2,1,,gif,0) /dpi=(150,150)
Das erwartete Ergebnis ist folgende Datei: "C:\temp\Meine Scandatei, Seite 1"
Unter Windows ist ein Komma ein erlaubtes Zeichen für Dateinamen. Sobald der Dateiname in Anführungszeichen steht, sollte Irfanview die Bestandteile des Dateinamens nicht mehr als Teil der Batchscan-Optionen auswerten. Mit anderen Worten: Erst Anführungszeichen, dann Komma auswerten. Gerade bei der Batch-Scan Option verwende ich ständig Kommas im Dateinamen, um die Seitenzahl abzugrenzen.
Hier noch das gesamte Script, aber für das Problem spielt es keine Rolle (ja, es fehlen noch die Anführungszeichen um den Dateinamen, aber auch mit Anführungszeichen funktioniert es nicht)
Set objDialog = CreateObject("SAFRCFileDlg.FileSave")
objDialog.FileName = "C:\Dokumente und Einstellungen\User\Eigene Dateien\Scans\ScanDateiname"
objDialog.FileType = "gif"
intReturn = objDialog.OpenFileSaveDlg
If intReturn Then
Set sh = CreateObject("WScript.Shell")
sh.Run("C:\programme\irfanview\i_view32.exe /batchscan=(" + objDialog.FileName + ",1,1,2,1,,gif,0) /dpi=(150,150)")
Else
Wscript.Quit
End If
Comment