Brauche eine kleine Hilfestellung bei einer VBS-Datei (Software)
Hallo zusammen,
die folgende kleine vbs-Datei dient dazu (in diesem Fall) Bilddateien in mehreren Ordnern gleichzeitig umzubenennen.
Der Name setzt sich aus dem jeweiligen Ordnernamen zusammen in dem die Bilder liegen, sowie einer fortlaufenden dreistelligen Nummerierung.
Ich selbst kenne mich leider gar nicht mit vbs aus. Die Datei hat mir vor einiger Zeit mal jemand geschrieben zu dem ich keinen Kontakt mehr habe.
Nun zur Frage:
Derzeit werden die Dateien in der Reihenfolge sortiert nach dem ursprünglichen Dateinamen abgearbeitet.
Ich möchte jedoch gerne, dass sie nach dem Aufnahmedatum (nicht Änderungsdatum) der Bilddateien aufsteigend (ältestes zuerst) sortiert umbenannt werden damit anschließend die aufsteigenden Nummer auch der Reihenfolge der Aufnahme entspricht.
Könnte jemand die Funktion entsprechend einarbeiten?
Vielen Dank bereits im Voraus!
Gruß NicO
===============================
function RenameFiles(folder)
On Error Resume Next
dim fls, fon, fnn, fend, fext, i, errfiles
if folder.subfolders.count > 0 then
for each fld in folder.subfolders
errfiles = errfiles & RenameFiles(fld)
next
end if
if folder.files.count > 0 then
fls = "[" & folder.Name & "]" & vbcrlf
i = 1
for each fl in folder.files
fon = fl.name
fext = fso.GetExtensionName(fl.Path)
if exts.exists(fext) then
fnn = folder.Name & "_" & Right("000" & i ,3) & "." & fext
fl.name = fnn
if Err.Number <> 0 then
errfiles = errfiles & folder.Path & "" & fon & " (" & err.Description & ")" & vbcrlf
Err.Clear
end if
i = i + 1
end if
next
end if
renamefiles = errfiles
end function
dim fso
dim exts
Set fso = CreateObject("Scripting.FileSystemObject")
' Liste mit Dateitypen (Endungen) die umbenannt werden sollen
set exts = CreateObject("Scripting.Dictionary")
exts.Add "jpg",""
exts.Add "JPG",""
If WScript.Arguments.Count = 0 then
Path = InputBox("Bitte Pfad des Verzeichnisses angeben: (Unterverzeichnisse werden ebenfalls bearbeitet!)","Pfad eingeben")
else
Path = WScript.Arguments(0)
End If
if fso.FolderExists(Path) then
errfiles = renamefiles(fso.GetFolder(Path))
if Len(errfiles) > 0 then
WScript.Echo("Folgende Dateien konnten nicht umbenannt werden" & vbcrlf & errfiles)
end if
else
WScript.Echo("Der angegebene Pfad existiert nicht!")
end if
set fso = Nothing
set ext = Nothing
gesamter Thread:
- Brauche eine kleine Hilfestellung bei einer VBS-Datei -
NicO,
30.03.2011, 07:07
- Bilddateien gemäß Aufnahmedatum umbenennen -
Martin Vogel,
30.03.2011, 09:36
- das wäre eine Möglichkeit, aber... -
NicO,
30.03.2011, 10:22
- Åke Storck: SetNameToTime 2.4.10 -
Martin Vogel,
30.03.2011, 11:18
- ... so funktioniert's! -
NicO,
30.03.2011, 12:12
- Vorsortierung - Martin Vogel, 30.03.2011, 13:22
- ... so funktioniert's! -
NicO,
30.03.2011, 12:12
- Åke Storck: SetNameToTime 2.4.10 -
Martin Vogel,
30.03.2011, 11:18
- das wäre eine Möglichkeit, aber... -
NicO,
30.03.2011, 10:22
- Bilddateien gemäß Aufnahmedatum umbenennen -
Martin Vogel,
30.03.2011, 09:36