Alle Dateinamen des typ .xml in allen unterverzeichnissen via Batch automatisch mit datum JJJJMMDD ergänzen
C-h-a-r-l-y (Level 1) - Jetzt verbinden
09.08.2011, aktualisiert 18.10.2012, 3936 Aufrufe, 4 Kommentare
Hallo geehrte Gemeinde,
nach einem ganzen Tag der Suche - bin ganz frisch beigetreten und hoffe auf einen Helden eine Heldin.
Problemschilderung:
Ich bin gefordert, diverse Files in einer vorgegeben Verzeichnisstruktur zur "weiteren Verarbeitung" bereitzustellen.
die "weitere Verarbeitung" entzieht sich jedoch meinem Einfluß - so bin ich gebeten die bereitgesteellten Files wie folgt umzubenennen:
JJJJMMDD_hhmm_UrsprünglicherDateiname.xml
hierbei stellt JJJJMMDD das aktuell aus dem System ausgelesene Datum dar, welches ich bereits erfolgreich einem Dateinamen vorangestellt habe.
Leider nur "einer bestimmten Datei" in "einem bestimmten Verzeichnis"
bisher habe ich mir dies von euch zusammengeklubt
cd C:\Daten\export
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%c%%d%%b%%a
echo %cdate%
FOR /F "tokens=1,2,3 delims=/: " %%a in ('Time/T') do set CTIME=%%a%%b%%c
echo %CTIME%
ren *.xml %cdate%_%CTIME%_%xyz%.xml
Hiermit habe ich natürlich nur für die erste .xml Datei im "export"-Verzeichnis einen Teil-Erfolg - weil ja der ursprüngliche Name der Datei nun leider kein Bestandteil des Datenamens mehr ist
Bei der zweiten Datei erfolgt dann der Abbruch mit der Meldung "Dateiname existiert bereits".
Meine naive Idee war es den ursprünglichen Dateinamen erst auszulesen "xyz" und dann (quasi ähnlich wie das Datum) als Variable wieder anzufügen ???
Ja und Danngibt es dann noch die Herrausforderung, das für alle Dateien in allen Unterverzeichnissen automatisch weiterlaufen zu lassen!
Also, Ich hoffe hier nach allen Regeln der Zunft "gebeitragt" zu haben.
Würde mich über die "Nachhilfe" wirklich freuen.
Vielen Dank im Vorraus
C-h-a-r-l-y
Ich bin gefordert, diverse Files in einer vorgegeben Verzeichnisstruktur zur "weiteren Verarbeitung" bereitzustellen.
die "weitere Verarbeitung" entzieht sich jedoch meinem Einfluß - so bin ich gebeten die bereitgesteellten Files wie folgt umzubenennen:
JJJJMMDD_hhmm_UrsprünglicherDateiname.xml
hierbei stellt JJJJMMDD das aktuell aus dem System ausgelesene Datum dar, welches ich bereits erfolgreich einem Dateinamen vorangestellt habe.
Leider nur "einer bestimmten Datei" in "einem bestimmten Verzeichnis"
bisher habe ich mir dies von euch zusammengeklubt
cd C:\Daten\export
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%c%%d%%b%%a
echo %cdate%
FOR /F "tokens=1,2,3 delims=/: " %%a in ('Time/T') do set CTIME=%%a%%b%%c
echo %CTIME%
ren *.xml %cdate%_%CTIME%_%xyz%.xml
Hiermit habe ich natürlich nur für die erste .xml Datei im "export"-Verzeichnis einen Teil-Erfolg - weil ja der ursprüngliche Name der Datei nun leider kein Bestandteil des Datenamens mehr ist
Bei der zweiten Datei erfolgt dann der Abbruch mit der Meldung "Dateiname existiert bereits".
Meine naive Idee war es den ursprünglichen Dateinamen erst auszulesen "xyz" und dann (quasi ähnlich wie das Datum) als Variable wieder anzufügen ???
Ja und Danngibt es dann noch die Herrausforderung, das für alle Dateien in allen Unterverzeichnissen automatisch weiterlaufen zu lassen!
Also, Ich hoffe hier nach allen Regeln der Zunft "gebeitragt" zu haben.
Würde mich über die "Nachhilfe" wirklich freuen.
Vielen Dank im Vorraus
C-h-a-r-l-y
4 Antworten
- LÖSUNG Skyemugen schreibt am 09.08.2011 um 19:34:03 Uhr
- LÖSUNG Xaero1982 schreibt am 09.08.2011 um 19:39:16 Uhr
- LÖSUNG Friemler schreibt am 09.08.2011 um 19:48:33 Uhr
- LÖSUNG C-h-a-r-l-y schreibt am 10.08.2011 um 09:10:37 Uhr
LÖSUNG 09.08.2011 um 19:34 Uhr
LÖSUNG 09.08.2011, aktualisiert 18.10.2012
[OT]
Hi Charly,
und willkommen im Forum.
Also ich muss sagen:
Nach dem: https://www.administrator.de/forum/windows-server-2008-r2-%28terminalser ... und dem: https://www.administrator.de/forum/experten-gefragt%2c-wie-kann-man-nur- ...
war dein Beitrag ein echter Augenschmaus und das für einen neuen User.
Es geht also auch anders!
Danke!
VG
[/OT]
Hi Charly,
und willkommen im Forum.
Also ich muss sagen:
Nach dem: https://www.administrator.de/forum/windows-server-2008-r2-%28terminalser ... und dem: https://www.administrator.de/forum/experten-gefragt%2c-wie-kann-man-nur- ...
war dein Beitrag ein echter Augenschmaus und das für einen neuen User.
Es geht also auch anders!
Danke!
VG
[/OT]
LÖSUNG 09.08.2011 um 19:48 Uhr
Hallo C-h-a-r-l-y,
von mir noch ein Vorschlag, der den Zeitstempel mit einem Inline-VBScript ermittelt und damit die schon oft besprochenen Schwierigkeiten der Zerlegung der Ausgabe von date /t bzw. time /t (Welches Datumsformat hätten's denn gern'?) vermeidet.
Gruß
Friemler
von mir noch ein Vorschlag, der den Zeitstempel mit einem Inline-VBScript ermittelt und damit die schon oft besprochenen Schwierigkeiten der Zerlegung der Ausgabe von date /t bzw. time /t (Welches Datumsformat hätten's denn gern'?) vermeidet.
@echo off & setlocal
set "SrcDir=E:\Export"
set "VBScript=%Temp%\GetTimeStamp.vbs"
>"%VBScript%" echo WScript.Echo Year(Now) ^& Right("0" ^& Month(Now), 2) ^& Right("0" ^& Day(Now), 2) ^& "_" ^& Right("0" ^& Hour(Now), 2) ^& Right("0" ^& Minute(Now), 2) ^& Right("0" ^& Second(Now), 2)
for /f "delims=" %%t in ('cscript /nologo "%VBScript%"') do (
set "TimeStamp=%%t"
)
del "%VBScript%"
for /r "%SrcDir%" %%s in (*.xml) do (
ren "%%s" "%TimeStamp%_%%~nxs"
)
Friemler
LÖSUNG 10.08.2011 um 09:10 Uhr
Hallo @ all,
ich bin ja total geplättet in welchem Tempo ihr hier die Suchenden bedient.
Habe richtig ein schlechtes Gewissen, dass ich für mein "Dankeschön" nun länger gebraucht habe als Ihr für die Lösung
@André
Ja, genau das hab ich gubraucht ! Ein entschiedenes "Danke" an Dich !
@Xaero1982
Vielen Dank für die Blumen
@Friemler
Bis Ich dein Inline-VBscript auch nur im Ansatz verstanden habe werde - vergeht bestimmt noch reichlich Zeit.
Hab mich bisher um VB herumegedrückt - das scheint sich jetzt wohl zu rächen.
Danke für die Inspiration.
Viele Grüße
C-h-a-r-l-y
ich bin ja total geplättet in welchem Tempo ihr hier die Suchenden bedient.
Habe richtig ein schlechtes Gewissen, dass ich für mein "Dankeschön" nun länger gebraucht habe als Ihr für die Lösung
@André
Ja, genau das hab ich gubraucht ! Ein entschiedenes "Danke" an Dich !
@Xaero1982
Vielen Dank für die Blumen
@Friemler
Bis Ich dein Inline-VBscript auch nur im Ansatz verstanden habe werde - vergeht bestimmt noch reichlich Zeit.
Hab mich bisher um VB herumegedrückt - das scheint sich jetzt wohl zu rächen.
Danke für die Inspiration.
Viele Grüße
C-h-a-r-l-y