Bauforum-Logo

Forum Bauen und Umwelt

log in | registrieren

zurück zum Forum
  Mix-Ansicht

Brauche eine kleine Hilfestellung bei einer VBS-Datei (Software)

verfasst von NicO E-Mail, 30.03.2011, 07:07 Uhr

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

antworten
 



gesamter Thread:

zurück zum Forum
  Mix-Ansicht
Forum Bauen und Umwelt | Kontakt | Impressum
8442 Postings in 4047 Threads, 1094 registrierte User, 20 User online (0 reg., 20 Gäste)
powered by my little forum  RSS-Feed  ^
map | new