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
Kommentar vom Moderator Biber am 30.01.2013 um 22:32:43 Uhr
Verschoben von "Tools & Utilties" nach "Batch & Shell". Und auf "Erledigt" gesetzt.
GELÖST

Windows Batch Gleichzeitiges Kopieren und Umbenennen von Dateien in for Schleife

Frage Entwicklung Batch & Shell

Mitglied: sr2013

sr2013 (Level 1) - Jetzt verbinden

29.01.2013, aktualisiert 30.01.2013, 2792 Aufrufe, 3 Kommentare

Hallo,

nachdem ich erfolglos gegoogelt und nicht wirklich etwas gefunden habe, hier meine Frage:

Meine Verzeichnisstruktur sieht beispielhaft folgendermaßen aus:
01.
C:\daten\20120101\log.log 
02.
C:\daten\20120102\log.log 
03.
C:\daten\20120103\log.log 
04.
C:\daten\20120104\log.log 
05.
usw.
Die Datenen log.log möchte ich in ein Verzeichnis
C:\daten_neu kopieren und dabei umbenennen, so dass
C:\daten\20120101\log.log -> C:\daten_neu\20120101log.log 
C:\daten\20120102\log.log -> C:\daten_neu\20120102log.log 
C:\daten\20120103\log.log -> C:\daten_neu\20120103log.log 
C:\daten\20120104\log.log -> C:\daten_neu\20120104log.log
Um sie dann aus dem zentralen Verzeichnis weiterverarbeiten zu können.

Nun meine Frage: wie mache ich das?

Das einfache Kopieren ginge mit
01.
for /r C:\daten %%f in (log.log) do copy "%%f" C:\daten_neu
Dabei wird aber die Ziel-Datei jeweils überschrieben und es bleibt nur die letzte stehen.
Es müsste doch möglich sein, den Teil 20120103 aus %%f herauszufiltern und dynamisch in den Ziel-Dateinamen zu integrieren. Das ist mir aber nicht gelungen.
Vielleicht gibt es ja hier jemanden, der das aus dem ff kann, ich - Neuling in der Batch-Programmierung - bin für jeden Hinweis dankbar.

Viele Grüße

Mitglied: bastla
29.01.2013, aktualisiert um 22:20 Uhr
Hallo sr2013 und willkommen im Forum!

Wenn die Quellordner offensichtlich alle direkt in "C:\daten" liegen und "2012*" heißen, etwa so:
for /d %%i in (C:\daten\2012*) do echo copy "%%i\log.log" "C:\daten_neu\%%~nilog.log"
Wegen des "echo" werden (zum Testen) die Kopierbefehle nur angezeigt, aber nicht ausgeführt ...
Sollte allerdings Dein "for /r" ernst gemeint sein (weil es auch in Unterordnern von zB "C:\daten\20120101" noch "log.log"-Dateien gibt), besser:
01.
@echo off & setlocal 
02.
set "Basis=C:\daten" 
03.
set "Datei=log.log" 
04.
set "Ziel=C:\daten_neu" 
05.
 
06.
for /f "delims=" %%i in ('dir /s/b/a-d "%Basis%\%Datei%"') do call :ProcessFile "%%i" 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
set "Pfad=%~f1" 
11.
call set "RelPfad=%%Pfad:%Basis%=%%" 
12.
echo copy %1 "%Ziel%\%RelPfad:\=%" 
13.
goto :eof
- auch hier wieder mit "Test-echo" (in Zeile 12) ...

Grüße
bastla
Bitte warten ..
Mitglied: sr2013
30.01.2013, aktualisiert um 20:14 Uhr
Hallo bastla,

herzlichen Dank für die schnelle Antwort! Hab es eben am heimischen Rechner nachgestellt, da hat es auf Anhieb das gemacht, was es sollte. Auf Arbeit gab es noch einen Fehler, aber dann lag der Fehler wohl beim Anwender

Danke auch für das aufmerksame Lesen!! Du hattest recht, das /r war nicht ohne Grund gesetzt, weil es noch Unterverzeichnisse gibt. Da habe ich die Aufgabenstellung zu knapp beschrieben. Also habe ich deine Lösung 2 gewählt.

So nun hoffe ich, dass ich bei meiner neuen Tätigkeit schnell dazu lerne und mich hier mal für die Hilfe revanchieren kann
Ich find es immer wieder toll, wieviel Hilfe man im Netz so findet, von wegen Internet macht einsam...

Viele Grüße
Bitte warten ..
Mitglied: bastla
30.01.2013 um 20:50 Uhr
Hallo sr2013!

Freut mich, wenn's hilft - und Deine Einstellung, hier auch selbst etwas beitragen zu wollen, freut mich noch mehr.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch Problem bei einer For Schleife (2)

Frage von Juergen42 zum Thema Batch & Shell ...

Batch & Shell
USB - Autorun kopieren von Dateien (6)

Frage von draycon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (22)

Frage von patz223 zum Thema Windows Userverwaltung ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (19)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...