Ordner nach darin liegenden Dateien umbenennen
Hallo allerseits,
ich stehe vor einem Problem, für das ich bisher trotz allen Suchens und Herumprobierens keine Lösung gefunden habe. Ich suche ein Script (Batch; notfalls auch Perl, Python etc.) welches das folgende Problem lösen kann:
Szenario:
Ein Programm liest Messwerte aus. Diese werden für jede einzelne Messung in Unterordnern mit zufälligen Namen (zumindest habe ich bei der Benennung keine Systematik erkennen können) im Verzeichnis D:\data\ abgelegt. Die Ordnerliste sieht dann etwa so aus:
D:\data\5BF154ED065
D:\data\A254DC584E2
D:\data\BFCDC215487
D:\data\D18258D12A1
D:\data\FC2485693B4
Jeder einzelne dieser Ordner enthält mehrere Dateien mit Messwerten und genau eine Log-Datei, die nach dem Messzeitpunkt benannt ist und die Endung .log trägt.
D:\data\5BF154ED065
Ziel ist nun ein Script, das sämtliche Ordner durchläuft und jeden einzelnen Ordner nach dem Namen der darin liegenden Log-Datei umbenennt.
Das Resultat soll dann also so aussehen:
D:\data\20150113tuesday110557
Und das, wie gesagt, für jeden einzelnen der unzähligen Ordner die sich inzwischen angesammelt haben.
Vielleicht weiß ja einer von Euch, wie man sowas elegant lösen kann. Ich bin für jeden Hinweis dankbar.
Mit bestem Dank im Voraus
und den allerbesten Grüßen!
Steffi Lühnsdorf
ich stehe vor einem Problem, für das ich bisher trotz allen Suchens und Herumprobierens keine Lösung gefunden habe. Ich suche ein Script (Batch; notfalls auch Perl, Python etc.) welches das folgende Problem lösen kann:
Szenario:
Ein Programm liest Messwerte aus. Diese werden für jede einzelne Messung in Unterordnern mit zufälligen Namen (zumindest habe ich bei der Benennung keine Systematik erkennen können) im Verzeichnis D:\data\ abgelegt. Die Ordnerliste sieht dann etwa so aus:
D:\data\5BF154ED065
D:\data\A254DC584E2
D:\data\BFCDC215487
D:\data\D18258D12A1
D:\data\FC2485693B4
Jeder einzelne dieser Ordner enthält mehrere Dateien mit Messwerten und genau eine Log-Datei, die nach dem Messzeitpunkt benannt ist und die Endung .log trägt.
D:\data\5BF154ED065
- 20150113tuesday110557.log
- DateiA.txt
- DateiB.txt
- usw.
Ziel ist nun ein Script, das sämtliche Ordner durchläuft und jeden einzelnen Ordner nach dem Namen der darin liegenden Log-Datei umbenennt.
Das Resultat soll dann also so aussehen:
D:\data\20150113tuesday110557
- 20150113tuesday110557.log
- DateiA.txt
- DateiB.txt
- usw.
Und das, wie gesagt, für jeden einzelnen der unzähligen Ordner die sich inzwischen angesammelt haben.
Vielleicht weiß ja einer von Euch, wie man sowas elegant lösen kann. Ich bin für jeden Hinweis dankbar.
Mit bestem Dank im Voraus
und den allerbesten Grüßen!
Steffi Lühnsdorf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 259684
Url: https://administrator.de/forum/ordner-nach-darin-liegenden-dateien-umbenennen-259684.html
Ausgedruckt am: 22.04.2025 um 08:04 Uhr
3 Kommentare
Neuester Kommentar
Hallo Stefanie.Luehnsdorf, willkommen im Forum.
Dein Vorhaben sollte sich mit ein paar Zeilen Batchcode erledigen lassen.
*.bat
Der Code zeigt lediglich, was passieren würde. Um ihn scharf zu machen, entferne ECHO und ggf. PAUSE.
Grüße
rubberman
Dein Vorhaben sollte sich mit ein paar Zeilen Batchcode erledigen lassen.
*.bat
@echo off &setlocal
set "root=D:\data"
cd /d "%root%"
for /d %%i in (*) do for %%j in ("%%~i\*.log") do ECHO ren "%%~i" "%%~nj"
PAUSE
Der Code zeigt lediglich, was passieren würde. Um ihn scharf zu machen, entferne ECHO und ggf. PAUSE.
Grüße
rubberman