VB Script Dateiendungen umbenennen
Hallo zusammen.
Leider habe ich vom Programmieren soviel Ahnung wie von der chinesischen Sprache. Ich habe das halbe Wochenende damit verbracht das Script selber zu schreiben, nur leider gelingt mit das nicht.
Mein Problem ist folgendermaßen: Ich habe ein Programm laufen, welches einen Ordner überwacht und wenn da eine .csv Datei hineingespeichert wird, liest dieses Programm die Datei aus und druckt die Daten daraus auf ein Etikett. Diese .csv Datei soll am Ende des Druckvorganges in eine .txt Datei umgewandelt werden um nicht versehentlich die Datei nochmals zu drucken. Dazu kann ich im Anschluss an den Druck ein VBScript ausführen lassen. Kann mir da irgendjemand weiterhelfen?
Besten Dank Stoffal02
Leider habe ich vom Programmieren soviel Ahnung wie von der chinesischen Sprache. Ich habe das halbe Wochenende damit verbracht das Script selber zu schreiben, nur leider gelingt mit das nicht.
Mein Problem ist folgendermaßen: Ich habe ein Programm laufen, welches einen Ordner überwacht und wenn da eine .csv Datei hineingespeichert wird, liest dieses Programm die Datei aus und druckt die Daten daraus auf ein Etikett. Diese .csv Datei soll am Ende des Druckvorganges in eine .txt Datei umgewandelt werden um nicht versehentlich die Datei nochmals zu drucken. Dazu kann ich im Anschluss an den Druck ein VBScript ausführen lassen. Kann mir da irgendjemand weiterhelfen?
Besten Dank Stoffal02
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665234
Url: https://administrator.de/forum/vb-script-dateiendungen-umbenennen-665234.html
Ausgedruckt am: 25.04.2025 um 03:04 Uhr
7 Kommentare
Neuester Kommentar
Servus @Stoffal02, willkommen auf Administrator.de!
Ich würde die Files ja statt sie umzubenennen in ein Backup-Verzeichnis verschieben statt sie umzubenennen
Aber wenn du unbedingt umbenennen willst auch das geht natürlich
Ordner in den ersten Zeilen jeweils an deine Bedürfnisse anpassen
Grüße Uwe
Ich würde die Files ja statt sie umzubenennen in ein Backup-Verzeichnis verschieben statt sie umzubenennen
Variante Verschieben
' Ordner mit Dateien
FOLDER = "F:\quelle"
' Ordner zur Ablage der fertigen Dateien
FOLDER_READY = "F:\quelle\backup"
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(FOLDER) then
msgbox "Quell-Ordner'" & FOLDER & "' existiert nicht!",vbExclamation
wscript.quit
End if
' Ablage Ordner erstellen wenn nicht vorhanden
If Not fso.FolderExists(FOLDER_READY) Then fso.CreateFolder FOLDER_READY
For Each file In fso.GetFolder(FOLDER).Files
newname = file.Name
cnt = 1
while fso.FileExists(FOLDER_READY & "\" & newname)
newname = fso.GetBaseName(file.Path) & "_" & cnt & "." & fso.GetExtensionName(file.Name)
cnt = cnt + 1
Wend
fso.MoveFile file.Path, (FOLDER_READY & "\" & newname)
Next
Variante umbenennen
FOLDER = "F:\quelle"
Set fso = CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(FOLDER) then
msgbox "Quell-Ordner existiert nicht!",vbExclamation
wscript.quit
End if
For Each file In fso.GetFolder(FOLDER).Files
if LCase(fso.GetExtensionname(file.Name)) <> "txt" then
newname = fso.GetBaseName(file.Path) & ".txt"
cnt = 1
while fso.FileExists(fso.GetParentFolderName(file.Path) & "\" & newname)
newname = fso.GetBaseName(file.Path) & "_" & cnt & ".txt"
cnt = cnt + 1
wend
file.Name = newname
end if
Next
Grüße Uwe
Es kann nur eine Datei mit dem selben Namen in ein und dem selben Verzeichnis geben!
Deswegen vergibt das Skript einen neuen eindeutigen mit einer angehängten Nummer an dem neuen Dateinamen sollte bereits eine mit dem gleichen Namen dort liegen, ohne diese Maßnahme würde das Skript logischerweise beim Umbenennen einen Fehler werfen das der Name schon vergeben ist! Wenn du das nicht willst musst du die alte Datei schon anders eindeutig benennen oder diese vorher durch das Skript löschen lassen. Das musst du schon klar definieren, deinen Workflow kennen wir hier ja nicht.
Deswegen vergibt das Skript einen neuen eindeutigen mit einer angehängten Nummer an dem neuen Dateinamen sollte bereits eine mit dem gleichen Namen dort liegen, ohne diese Maßnahme würde das Skript logischerweise beim Umbenennen einen Fehler werfen das der Name schon vergeben ist! Wenn du das nicht willst musst du die alte Datei schon anders eindeutig benennen oder diese vorher durch das Skript löschen lassen. Das musst du schon klar definieren, deinen Workflow kennen wir hier ja nicht.