Teil des Dateien Name im gesamten Ordner löschen?
Guten Tag, ich bräuchte Hilfe bei einer batch-Datei die z.B.
- 1969 (128kbit_AAC).m4a
- Afterhours (128kbit_AAC).m4a
- Alice (128kbit_AAC).m4a
in
- 1969.m4a
- Afterhours.m4a
- Alice.m4a
ändert.
Wäre nett wenn mir jemand dabei helfen kann.
5 Antworten
Wäre es nicht einfacher gleich im JDownloader die korrekten Namensformate zu konfigurieren?
Das Tool Bulk Rename Utility hilft mir sehr dabei. Danke!
Ich empfehle ein Tool wie "bulk Rename Utility" oder "MultiCommander" und nutze damit die Umbenennen->Ersetzen-Funktion mit regulären Ausdrücken.
Guten Tag! Um eine batch-Datei zu erstellen, die die oben beschriebene Aufgabe ausführt, können Sie folgenden Code verwenden:
@echo off
rem Set the source and target directories
set source=C:\Users\example\Music
set target=C:\Users\example\Music\processed
rem Loop through all files in the source directory
for %%F in (%source%\*.*) do (
rem Get the file name without the extension
set name=%%~nF
rem Remove the text between the parentheses
set name=%name:(128kbit_AAC)=%
rem Move the file to the target directory
move "%%F" "%target%\%name%.m4a"
)
Dieser Code setzt voraus, dass sich die Originaldateien im Verzeichnis C:\Users\example\Music befinden und die bearbeiteten Dateien im Verzeichnis C:\Users\example\Music\processed gespeichert werden sollen. Sie können diese Pfade entsprechend anpassen.
Hinweis: Stellen Sie sicher, dass Sie die Pfade in Anführungszeichen setzen, wenn sie Leerzeichen enthalten. Zum Beispiel: "C:\Users\example\Music"
Ich hoffe, dass dies hilfreich ist.
Total Commander, alle Dateien markieren (Num+*) und dann per Mehrfach-Umbenn-Tool (unter Datei) den Text im Dateinamen löschen.
Batch (ohne Gewähr):
@echo off
for %%a IN ( *(128kbit_AAC).m4a ) do (
set x=%%a%
set b=%x:(128kbit_AAC)=%
ren %x% %b%
)
Da ist jemand gleich in 2 Batch-Fettnäpfchen gestolpert.🤫
- "Text"-Klammern innerhalb von "Syntaktischen"-Klammern. https://ss64.com/nt/syntax-brackets.html
- Variablenzugriff innerhalb von "Klammerblöcken" https://devblogs.microsoft.com/oldnewthing/?p=29993
Batch ist böse...😅
Danke dir aber benutze jetzt ein Programm dazu. Aber danke für deine Bemühungen!
Geht auch einfacher... ich hatte ja zuerst auch nur total commander geschrieben, dann ist mir eingefallen, man könnte es ja mal mit der Batch probieren.
Da es sich bei rename um einen verändernden/zerstörenden Befehl handelt habe ich zum Testen ein echo davor gesetzt. Wenn die Batch Dir die gewünschten Parameter anzeigt, kannst Du das echo entfernen
demo.cmd
@echo off
for %%a in ("* (128kbit_AAC).m4a" ) do (
set "_newName=%%~a"
rem zum "scharfmachen" entferne das "echo" vor "ren"
call echo ren "%%~a" "%%_newName: (128kbit_AAC)=%%"
)
pause
...die Batch ersetzt einfach nur "Leerzeichen(128kbit_AAC)" durch "Nichts".
Das war ein zu später Fehler nachdem ich 2000 Lieder gedownloadet habe, habe ich erst die Einstellung gefunden