Skript für Änderung Dateinamen
Hallo,
ich bin Lehrer einer Schule und erstelle den täglichen Vertretungsplan, der auf die Schulhomepage ausgegeben werden soll. Mangels eigener Kenntnisse wollte ich um Hilfe bei der Erstellung eines Skripts fragen. Folgendes Problem habe ich: Meine Dateien heißen derzeit z. B. lehrerplan_vom_10-11-2014.htm, lehrerplan_vom_11-11-2014.htm bzw. schuelerplan_vom_10-11-2014.htm, schuelerplan_vom_10-11-2014.htm usw.
Ich möchte innerhalb einer Batch-Datei ein Umbenennen erreichen in lehrerplan_mo.htm, schuelerplan_mo.html oder eben auch lehrerplan_di.htm, schuelerplan_di.html, d.h. das Skript müsste Teile des Dateinamens auslesen, erkennen um welches Datum es sich innerhalb des Dateinamens handelt, diesem den korrekten Wochentag zuordnen und anschließend umbenennen.
Anschließend möchte ich die veränderten Dateien auf den Webserver hochladen wo automatisch Verlinkungen "Montag", "Dienstag" usw. greifen.
Das Hochladen bekomme ich skriptmäßig selbst in Griff, aber das Datum auslesen und umbennen... das ist das Problem.
Könnte mir dabei jemand helfen bzw. ein paar Codezeilen schicken, die das leisten?
Ich bedanke ich schon vorab für jede Hilfe!!!
Charly
ich bin Lehrer einer Schule und erstelle den täglichen Vertretungsplan, der auf die Schulhomepage ausgegeben werden soll. Mangels eigener Kenntnisse wollte ich um Hilfe bei der Erstellung eines Skripts fragen. Folgendes Problem habe ich: Meine Dateien heißen derzeit z. B. lehrerplan_vom_10-11-2014.htm, lehrerplan_vom_11-11-2014.htm bzw. schuelerplan_vom_10-11-2014.htm, schuelerplan_vom_10-11-2014.htm usw.
Ich möchte innerhalb einer Batch-Datei ein Umbenennen erreichen in lehrerplan_mo.htm, schuelerplan_mo.html oder eben auch lehrerplan_di.htm, schuelerplan_di.html, d.h. das Skript müsste Teile des Dateinamens auslesen, erkennen um welches Datum es sich innerhalb des Dateinamens handelt, diesem den korrekten Wochentag zuordnen und anschließend umbenennen.
Anschließend möchte ich die veränderten Dateien auf den Webserver hochladen wo automatisch Verlinkungen "Montag", "Dienstag" usw. greifen.
Das Hochladen bekomme ich skriptmäßig selbst in Griff, aber das Datum auslesen und umbennen... das ist das Problem.
Könnte mir dabei jemand helfen bzw. ein paar Codezeilen schicken, die das leisten?
Ich bedanke ich schon vorab für jede Hilfe!!!
Charly
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 19.11.2014 um 18:55:47 Uhr
Das Hochladen bekomme ich skriptmäßig selbst in Griff, aber das Datum auslesen und umbennen... das ist das Problem.
set /a rgc+=1
#896
Bist nicht der Erste hier, der Probleme mit dem Umbennen hat...
Content-ID: 254492
Url: https://administrator.de/contentid/254492
Ausgedruckt am: 24.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo Charly, Willkommen auf Administrator.de!
Das könntest du so mit einem VBS-File so lösen:
Das hier benennt alle *.htm|*.html-Dateien nach deinem Muster eines angegebenen Ordners entsprechend nach deinen Angaben um:
Grüße Uwe
Das könntest du so mit einem VBS-File so lösen:
Das hier benennt alle *.htm|*.html-Dateien nach deinem Muster eines angegebenen Ordners entsprechend nach deinen Angaben um:
Const ORDNER = "C:\schulplaene"
Dim fso,regex,arrParts,strNewName,file,strNewPath
Set fso = CreateObject("Scripting.Filesystemobject")
Set regex = CreateObject("vbscript.regexp")
regex.Pattern = "^(.+)_.+_(\d{1,2}-\d{1,2}-\d{4})\.(htm|html)$"
regex.IgnoreCase = True
For Each file In fso.GetFolder(ORDNER).Files
Set match = regex.Execute(file.Name)
If match.Count > 0 Then
strNewName = match(0).Submatches(0) & "_" & WeekdayName(Weekday(CDate(match(0).Submatches(1))),True) & "." & match(0).Submatches(2)
strNewPath = file.ParentFolder & "\" & strNewName
if fso.FileExists(strNewPath) then
fso.DeleteFile strNewPath,True
end if
fso.MoveFile file.Path, strNewPath
End If
Next
Set fso = Nothing
Set regex = Nothing
Zitat von @charly74:
tja, ich bin echt sprachlos. DANKE!
Ich hab es gerade getestet und siehe da, es funktioniert so, wie ich mir vorgestellt habe. Nochmals: Herzlichen Dank!
keine Ursache tja, ich bin echt sprachlos. DANKE!
Ich hab es gerade getestet und siehe da, es funktioniert so, wie ich mir vorgestellt habe. Nochmals: Herzlichen Dank!
Eine Kleinigkeit hätte ich noch: Beim wiedeholten Ausführen des Skripts erscheint eine Fehlermeldung, da die betreffende
Datei schon vorhanden sei. Könntest Du noch eine Abfrage einbauen, falls dem eben so ist, dass die bereits vorhandene Datei
(die ja zeitlich dann schon älter und in meinem Fall überholt sein muss) vor dem Umbenennen gelöscht wird?
Ist oben eingebautDatei schon vorhanden sei. Könntest Du noch eine Abfrage einbauen, falls dem eben so ist, dass die bereits vorhandene Datei
(die ja zeitlich dann schon älter und in meinem Fall überholt sein muss) vor dem Umbenennen gelöscht wird?
THX.
Kann ich Dir auch etwas Gutes tun? Auf welchem Wege?
mit einem virtuellen Kaffee oder wenn du unbedingt willst mit einer kleinen Spende Kann ich Dir auch etwas Gutes tun? Auf welchem Wege?
Grüße Uwe