VisualBasic Ordnerweise Dateiumbennung mit Pfad im Dateinamen

HubiHase

Newbie
Registriert
Okt. 2016
Beiträge
1
Hallo zusammen,

ich bin neu hier und hoffe, dass mir jemand weiterhelfen kann. Ich bin gerade an meinem ersten VB Script, das den Dateipfad (ohne Prompt) im Dateinamen abbilden soll (also die Datei umbennen soll) und um Überlängen zu vermeiden die einzelnen Ordnernamen des Pfades (im Dateinamen) auf 4 Charakters herunterkürzen soll. Das ganze funktioniert sehr gut für einzelne Dateiobjekte auch wenn ich mehrere Dateien auswähle und diese auf das Script "ziehe". Allerdings geht er bei zu vielen Dateien in die Knie und bringt mir die Fehlermeldung "zu viele Argumente". Meine Frage wäre nun ob man die Funktion auch durch die einzelnen Ordner und Unterordner laufen lassen kann und dabei praktisch beim Durchlaufen der Ordner die einzelnen Dateien direkt umbennen kann. So könnte ich auch das "Drag and drop" umgehen.

Code:
Set Shell = WScript.CreateObject("WScript.Shell")
Set Parameter = WScript.Arguments
For i = 0 To Parameter.Count - 1
    Set fso = CreateObject("Scripting.FileSystemObject")
    findFolder = fso.GetParentFolderName(Parameter(i))
    PathName = fso.GetAbsolutePathName(Parameter(i))
    FileExt = fso.GetExtensionName(Parameter(i))
    Search = ":"
    findFolder2= Right(PathName, Len(PathName) - InStrRev(PathName, Search))
    arr = Split(findFolder2, "\")
    For j=0 To UBound(arr)-1
	arr(j) = ucase(Left(arr(j), 4))
    Next
    joined = Join(arr, "%")   
	prefix = right(joined, len(joined)-1)    
    fso.MoveFile Parameter(i), findFolder + "\" + prefix 
next

Ich hoffe, jemand kann mir Input geben. Vielen Dank und viele Grüße,

Hubert
 
Zurück
Oben