andreas00
Goto Top

Batch rename von Dateien

Hallo,

ich bräuchte Unterstützung bei einer kleinen Programmierung.
Ich habe auf einem Laufwerk 9 Ordner

"T1"
"T2"
"T3"
[...]
"T9"

In diesen Ordnern liegen jeweils mp3 Dateien, die umbenannt werden müssen in:

track001.mp3
track002.mp3
track003.mp3

usw.

Alle meine Ansätze haben nicht funktioniert. So schwer kann das doch nicht sein, oder?

Content-Key: 385327

Url: https://administrator.de/contentid/385327

Printed on: April 23, 2024 at 21:04 o'clock

Member: Friemler
Friemler Sep 03, 2018 at 21:14:55 (UTC)
Goto Top
Hallo,

wo liegen denn Deine Tx Verzeichnisse, wild über die Festplatte zerstreut oder in einem gemeinsamen Elternverzeichnis? Und wie lauten die Namen der umzubenennenden Dateien bzw. wie lautet die Zuordnungsregel der jetzigen zu den neuen Dateinamen?

Deine Infos sind ein bisschen dünn, in solchen Fällen ist es am hilfreichsten, wenn Du eine genaue Vorher-/Nachher-Beschreibung angibst.

Grüße
Friemler
Mitglied: 137084
Solution 137084 Sep 04, 2018 updated at 12:39:28 (UTC)
Goto Top
PS
dir "D:\T?" -Directory | %{  
 $cnt = 1
 dir $_.Fullname -File | %{
    rename-item $_.Fullname -NewName ("track" + $cnt.toString().padLeft(3,'0') + $_.Extension) -Force  
    $cnt++
 }
}
Batch
@echo off & setlocal enabledelayedexpansion
set "Drive=D:"  
set /a cnt=0
for /d %%a in ("%drive%\T?") do (  
    for %%b in ("%%a\*") do (  
        set cnt+=1
        set "num=00!cnt!"  
        ren "%%b" "%%~n!num:~-3!%%~xb"  
    )
)
Member: andreas00
andreas00 Sep 04, 2018 at 12:28:13 (UTC)
Goto Top
Hallo,

Die Batch funktioniert nicht, aber mit der PS bin ich schon fast am Ziel.

Die Tx Ordner liegen alle im gleichen Ordner, also:

D:\Ordner\T1\
  • liedeins.mp3
  • liedzwei.mp3
D:\Ordner\T2\
  • liedzwoelfunddreissig.mp3
  • lieblingslied.mp3

Die Dateien sind also alle mit Erweiterung mp3 aber mit einem zufälligen Dateinamen.

Die PS hängt jetzt an den Dateinamen 001, 002 usw. an, aber belässt den Dateinamen. Der müsste aber noch weg und durch "track" ersetzt werden. Es sollte also in jedem Ordner hinterher so aussehen:

track001.mp3
track002.mp3
...
track012.mp3

Es wäre schön, wenn die Reihenfolge hinterher die gleiche wäre wie vorher, also nach dem Alphabet sortiert, das ist aber kein Muss.

Danke schon Mal für eure Hilfe!
Mitglied: 137084
Solution 137084 Sep 04, 2018 updated at 12:41:37 (UTC)
Goto Top
Zitat von @andreas00:
Die Batch funktioniert nicht, aber mit der PS bin ich schon fast am Ziel.
War nur ein kleiner Typo, geht ansonsten, hier getestet.
Die PS hängt jetzt an den Dateinamen 001, 002 usw. an, aber belässt den Dateinamen. Der müsste aber noch weg und durch "track" ersetzt werden. Es sollte also in jedem Ordner hinterher so aussehen:
Ist oben eingesetzt.
Member: andreas00
andreas00 Sep 04, 2018 at 12:55:45 (UTC)
Goto Top
Vielen Dank, Problem perfekt gelöst!