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, 3709 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Programm in allen Unterverzeichnissen ausführen (8)

Frage von Rotnasenkater zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch soll an einem bestimmten Datum eine Website öffnen (3)

Frage von Yanmai zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Sonstige Systeme
Batch Dateinamen zerlegen (5)

Frage von Mummel zum Thema Sonstige Systeme ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(6)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Linux
gelöst Google Chrome startet nicht (12)

Frage von Thomas91 zum Thema Linux ...