VBS zur Datei Umbennenung und Entfernen von diverse Character
VBS zur Datei Umbennenung und Entfernen von diverse Character
Hallo,
zuerst Mal... ich bin zeimlich Neuling in VBS.. das Erklärt warscheinlich auch die Frage.
ich habe ein Script die Dateien Aufgrund Erstelldatum umbennent, und numeriert.
Bisher funktioniert dieser auch einwandfrei. nur folgende weitere Funktionen habe ich leider nicht erfolgreich implementieren können.
(sollte unbedingt per VBS gelöst werden, also kein rename Tool...)
Die Dateinamen sehen nach ersten Ablauf so aus...
YYYYMMDDXX-ZZ.JPG also z.B. 20060830CN-01.jpg
und sind alle im gleichen Ordner.
YYYY = Jahr , MM = Monat, DD = Tag, XX = Kürzel ( als Variable von einem Input Box) und ZZ = ist die Nummerierung.
Nun sollte ich
1: die zwei erste nummer des Jahres entfernen
Ergebnis Beispiel Datei:
YYMMDDXX-ZZ.JPG also z.B. 060830CN-01.jpg
2: der - entfernen
Ergebnis Beispiel Datei:
YYMMDDXXZZ.JPG also z.B. 060830CN01.jpg
also in Kurze:
gibt es ein MusterBatch für gewisse Positionen von Dateinamen durch andere (in diesem Fall Leere Zeichen) zu ersetzen?
Vielen Dank im Voraus,
Braltar
Hallo,
zuerst Mal... ich bin zeimlich Neuling in VBS.. das Erklärt warscheinlich auch die Frage.
ich habe ein Script die Dateien Aufgrund Erstelldatum umbennent, und numeriert.
Bisher funktioniert dieser auch einwandfrei. nur folgende weitere Funktionen habe ich leider nicht erfolgreich implementieren können.
(sollte unbedingt per VBS gelöst werden, also kein rename Tool...)
Die Dateinamen sehen nach ersten Ablauf so aus...
YYYYMMDDXX-ZZ.JPG also z.B. 20060830CN-01.jpg
und sind alle im gleichen Ordner.
YYYY = Jahr , MM = Monat, DD = Tag, XX = Kürzel ( als Variable von einem Input Box) und ZZ = ist die Nummerierung.
Nun sollte ich
1: die zwei erste nummer des Jahres entfernen
Ergebnis Beispiel Datei:
YYMMDDXX-ZZ.JPG also z.B. 060830CN-01.jpg
2: der - entfernen
Ergebnis Beispiel Datei:
YYMMDDXXZZ.JPG also z.B. 060830CN01.jpg
also in Kurze:
gibt es ein MusterBatch für gewisse Positionen von Dateinamen durch andere (in diesem Fall Leere Zeichen) zu ersetzen?
Vielen Dank im Voraus,
Braltar
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 39116
Url: https://administrator.de/forum/vbs-zur-datei-umbennenung-und-entfernen-von-diverse-character-39116.html
Ausgedruckt am: 22.04.2025 um 12:04 Uhr
8 Kommentare
Neuester Kommentar
Als vbs Skribt würde ich das so machen:
Set fso = CreateObject("Scripting.FileSystemObject")
' Verzeichnis holen
Set ofolder = fso.GetFolder("Pfad zu Verzeichnis")
' Alle Dateien im Verzeichnis durchgehen
For each file in ofolder.Files
'Name holen
sName = file.Name
'ersten 2 Buchstaben entfernen
sName = Mid(sName,3)
' - durch nichts ersetzen
sName = Replace(sName,"-","")
'Name wieder zurückschreiben
file.name = sName
Next
Set fso = CreateObject("Scripting.FileSystemObject")
' Verzeichnis holen
Set ofolder = fso.GetFolder("Pfad zu Verzeichnis")
' Alle Dateien im Verzeichnis durchgehen
For each file in ofolder.Files
'Name holen
sName = file.Name
'ersten 2 Buchstaben entfernen
sName = Mid(sName,3)
' - durch nichts ersetzen
sName = Replace(sName,"-","")
'Name wieder zurückschreiben
file.name = sName
Next
Moin Braltar,
Beispiel:
Test am CMD-Prompt:
HTH Biber
[Edit] Upps, sorry, AndreasHoster.... das war über Kreuz gepostet [/Edit]
Beispiel:
'fnametest.vbs
Set objFSO = CreateObject("Scripting.FileSystemObject")
set of =objFSO.GetFile("2006-08-30xy.txt")
wscript.echo "Filename old [" & of.name & "] rename to --> [" & Mid( of.name ,3) & "]"
of.name = Mid( of.name ,3)
wscript.echo "Filename now[" & of.name & "]"
wscript.echo "Filename old [" & of.name & "] rename to --> [" & Replace( of.name ,"-","") & "]"
of.name = Replace( of.name ,"-","")
>cscript //nologo fnametest.vbs
Filename old [2006-08-30xy.txt] rename to --> [06-08-30xy.txt]
Filename now[06-08-30xy.txt]
Filename old [06-08-30xy.txt] rename to --> [060830xy.txt]
HTH Biber
[Edit] Upps, sorry, AndreasHoster.... das war über Kreuz gepostet [/Edit]
Beispiel dafür:
Text ="datei27.3.2005-txt"
wscript.echo text & " Pos. von [.]=" & Instr(text, ".") _
& " Pos. von [3]=" & Instr( text, "3") _
& " Pos. von [-]=" & Instr(text, "-")
If mid(text,8,1) = "." then wscript.echo "Ersetzen: " & mid(text,1,7) &"0" & mid(text,9)
If mid(text,8,1) = "." then wscript.echo "Einfügen: " & mid(text,1,8) &"0" & mid(text,9)
wscript.quit
'OUTPUT: datei27.3.2005-txt Pos. von [.]=8 Pos. von [3]=9 Pos. von [-]=15
'OUTPUT: Ersetzen: datei2703.2005-txt
'OUTPUT: Einfügen: datei27.03.2005-txt