VBS - Datei Umbennen nach Ordner in dem sie liegen WIN10

GK-ken

Komplett-PC-Aufrüster(in)
Guten Tag,

Für weitere Sortierungsmaßnahmen auf meinen Festplatten ist es nun notwendig um die 1000 Dateien und Ordner zu sortieren. Jeder Ordner hat die Bennenung, die die Datei identifitziert die in ihm liegt. Übersichtshalber will ich nun die Ordner weglassen und die Dateien mit eben diesem Ordnernamen versehen in dem sie liegen.

In Win 7 konnte ich dies mit zwei .vbs-Dateien erledigen, die nun unter Win10 nicht mehr funktionieren.
Was muss ich tun damit es unter Win10 auch wieder geht?

"FolderNameSet.vbs"

Set Shell = WScript.CreateObject("WScript.Shell")
Set Parameter = WScript.Arguments
For i = 0 to Parameter.Count - 1
Set fso = CreateObject("Scripting.FileSystemObject")
Ordner=fso.GetParentFolderName(Parameter(i))
Dateiendung=fso.GetExtensionName(Parameter(i))
Dateiname=fso.GetFileName(fso.GetParentFolderName(Parameter(i)))
'fso.MoveFile Parameter(i),Ordner + "\" + Dateiname + "." + Dateiendung
msgbox Parameter(i) + " soll umbenannt werden in " + Ordner + "\" + Dateiname + "." + Dateiendung
Next
 
Gemäß
GetParentFolderName Method
liefert GetParentFolderName nur dann ein Ergebnis, wenn der übergebene String auch den (vollen) Pfad enthält.

Falls Du dem Script also nicht den vollständigen Phad- und Dateinamen mitgibst, dann musst Du erst mal zum übergebenen Dateinamen den vollständigen Pfad ermittlen (FullName=...):

Code:
Set Shell = WScript.CreateObject("WScript.Shell")
Set Parameter = WScript.Arguments
For i = 0 to Parameter.Count - 1
Set fso = CreateObject("Scripting.FileSystemObject")
FullName = fso.GetAbsolutePathName(Parameter(i))
Ordner=fso.GetParentFolderName(FullName)
Dateiendung=fso.GetExtensionName(FullName)
Dateiname=fso.GetFileName(fso.GetParentFolderName(FullName))
'fso.MoveFile Parameter(i),Ordner + "\" + Dateiname + "." + Dateiendung
msgbox Parameter(i) + " soll umbenannt werden in " + Ordner + "\" + Dateiname + "." + Dateiendung
Next

Ob das nun Dein Fehler ist, weiss ich natürlich nicht.
 
Zurück