470
clSchak
d4shoerncheN
Grave111
Pago159
Penny.Cilin
Phalanx82
zanko

Frage ist gelöst
Eine Datei die sich in mehreren Unterordnern befindet mit einer Batch-Datei umbenennen

Mitglied: abuelito
25.07.2011
11:23:10 Uhr
912 Aufrufe
3 Antworten
Hallo an Alle,

ich habe einen Ordner mit mehreren Unterordnern. Alle Unterordner haben als Ordnernamen folgenden Aufbau:

JJMMTTJJMMTT

In allen Unterordnern befindet sich eine TXT-Datei, die immer den gleichen Dateinamen, aber andere Inhalte hat.

Nun möchte ich gerne diese TXT-Datei aus allen Unterordnern in einen Temp Ordner kopieren und gleichzeitig umbenennen.

Beispiel:

Ordner "TEST" hat folgende Unterordner:

110701110701
110702110702
110703110703
110704110704
usw.

In jedem Unterordner befindet sich folgende Datei:

TEST123.txt

Diese Datei will ich nun von jedem Unterordner in den Temp Ordner kopieren und mit einem Teil des Ordnernamens umbenennen:

Beispiel:

Von Unterordner "110701110701" die Datei TEST123.txt in Ordner C:\Temp kopieren und in TEST123_110701 umbenennen.
Von Unterordner "110702110702" die Datei TEST123.txt in Ordner C:\Temp kopieren und in TEST123_110702 umbenennen.
Von Unterordner "110703110703" die Datei TEST123.txt in Ordner C:\Temp kopieren und in TEST123_110703 umbenennen.
usw.

Wie kann ich das per Batch-Datei lösen?

Für eure Hilfe schon mal vielen Dank.

Viele Grüße
abuelito

Mitglied: TimoBeil
TimoBeil schreibt am 25.07.2011 um 12:04:55 Uhr
Moin, edit und willkommen /edit

  • mach mal eine Dosbos auf
  • trage da "for /?" gefolgt von einem Return ein
  • Wenn du überhaupt keine Idee hast, schau hier nach der "Anleitung für For"
  • Und wenn das, was du dann gezimmert hast immer noch nicht richtig läuft, gerne helfen wir die weiter, deinen Ansatz zu verbessern.

Gruß
Mitglied: Friemler
Friemler schreibt am 25.07.2011 um 12:17:02 Uhr
Hallo abuelito,

teste mal das hier:
01.
@echo off & setlocal 
02.
 
03.
 
04.
set "SrcDir=E:\Test" 
05.
set "DestDir=C:\Temp" 
06.
set "TextFile=test123.txt" 
07.
 
08.
 
09.
for /f "delims=" %%f in ('dir /s /b /a:-d "%SrcDir%\%TextFile%"') do ( 
10.
  set "File=%%f" 
11.
  call :ProcessFile 
12.
13.
 
14.
exit /b 
15.
 
16.
 
17.
 
18.
:ProcessFile 
19.
  for %%i in ("%File%") do set "FilePath=%%~dpi" 
20.
  for %%i in ("%File%") do set "FileName=%%~ni" 
21.
  for %%i in ("%File%") do set "FileExt=%%~xi" 
22.
 
23.
  set "FilePath=%FilePath:~0,-1%" 
24.
  for %%i in ("%FilePath%") do set "ParentFolder=%%~nxi" 
25.
  set "Addendum=%ParentFolder:~0,6%" 
26.
 
27.
  copy "%File%" "%DestDir%\%FileName%_%Addendum%%FileExt%" 
28.
exit /b

Gruß
Friemler
Mitglied: abuelito
abuelito schreibt am 25.07.2011 um 14:45:34 Uhr
Hallo Friemler,

super, vielen Dank.

Hat bestens geklappt.

@Timo Beil ... Dir auch nochmal Danke, hab es ausprobiert. Steht einiges dabei.

Grüße
abuelito
mehr ...Ähnliche Beiträge