c-h-a-r-l-y
Goto Top

Alle Dateinamen des typ .xml in allen unterverzeichnissen via Batch automatisch mit datum JJJJMMDD ergänzen

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 face-smile

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 face-sad
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

Content-Key: 171214

Url: https://administrator.de/contentid/171214

Printed on: April 19, 2024 at 05:04 o'clock

Member: Skyemugen
Skyemugen Aug 09, 2011 at 17:34:03 (UTC)
Goto Top
Aloha,

nun, was du benötigst, ist eine weitere for-Schleife wie z.B.
for /r "C:\Daten\export" %%s in (*.xml) do echo ren "%%s" "%cdate%_%CTIME%_%%~nxs"
Somit kannst du auch das Wechseln des Verzeichnisses entfallen lassen.
Zur Vorschau ist erst einmal ein echo eingebaut face-wink

greetz André
Member: Xaero1982
Xaero1982 Aug 09, 2011, updated at Oct 18, 2012 at 16:47:48 (UTC)
Goto Top
[OT]
Hi Charly,

und willkommen im Forum.

Also ich muss sagen:

Nach dem:

war dein Beitrag ein echter Augenschmaus und das für einen neuen User.

Es geht also auch anders!
Danke!

VG

[/OT]
Member: Friemler
Friemler Aug 09, 2011 at 17:48:33 (UTC)
Goto Top
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.
@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"  
)

Gruß
Friemler
Member: C-h-a-r-l-y
C-h-a-r-l-y Aug 10, 2011 at 07:10:37 (UTC)
Goto Top
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 face-smile


@andré

Ja, genau das hab ich gubraucht ! Ein entschiedenes "Danke" an Dich !


@Xaero1982

Vielen Dank für die Blumen face-smile


@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