Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

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

Frage Entwicklung Batch & Shell

Mitglied: C-h-a-r-l-y

C-h-a-r-l-y (Level 1) - Jetzt verbinden

09.08.2011, aktualisiert 18.10.2012, 3706 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
Mitglied: Skyemugen
09.08.2011 um 19:34 Uhr
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

greetz André
Bitte warten ..
Mitglied: Xaero1982
09.08.2011, aktualisiert 18.10.2012
[OT]
Hi Charly,

und willkommen im Forum.

Also ich muss sagen:

Nach dem: http://www.administrator.de/forum/windows-server-2008-r2-%28terminalser ... und dem: http://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]
Bitte warten ..
Mitglied: Friemler
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.
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "SrcDir=E:\Export" 
05.
 
06.
 
07.
set "VBScript=%Temp%\GetTimeStamp.vbs" 
08.
 
09.
>"%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) 
10.
 
11.
for /f "delims=" %%t in ('cscript /nologo "%VBScript%"') do ( 
12.
  set "TimeStamp=%%t" 
13.
14.
 
15.
del "%VBScript%" 
16.
 
17.
 
18.
for /r "%SrcDir%" %%s in (*.xml) do ( 
19.
  ren "%%s" "%TimeStamp%_%%~nxs" 
20.
)
Gruß
Friemler
Bitte warten ..
Mitglied: C-h-a-r-l-y
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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Programm in allen Unterverzeichnissen ausführen (8)

Frage von Rotnasenkater zum Thema Batch & Shell ...

Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Base64 Decode (Batch,VBS) (26)

Frage von clragon zum Thema Batch & Shell ...

Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...