Batch-Datei um mehrere Dateien teilweise umzubenennen
Hallo,
ist vllt ein simples Problem, aber ich habe leider echt wenig Ahnung davon und wäre sehr dankbar für eine Lösung.
Mein Wunsch wäre folgender:
Ich habe einen Ordner mit angenommen 50 Dateien die zb so aussehen:
1Apfelkuchen_te.pdf
2Apfelkuchen_te.pdf
3Apfelkuchen_te.pdf
4Apfelkuchen_te.pdf
Jetzt würde ich gerne bei jedem einen Teil löschen aber den Rest behalten. Eigentlich bräuchte ich einmal die Möglichkeit das _te zu löschen und einmal nur "kuchen"....
Ich habe natürlich gegoogelt, aber verstehe davon halt null, habe diesen quelltext gefunden, aber hab keine Ahnung wie ich den umändern muss, dass einer meiner Probleme damit gelöst wird
Das habe ich als Batch-Datei gefunden, vllt hilft es ja :S Wusste auch nicht was ich ändern muss, damit die Batch Datei meinen Ordner findet. In der Batch Datei will der ja "mmdd" ändern, das war mir bewusst aber auch wenn ich da "kuchen" reinschreibe klappt es nicht :,(
@echo off & setlocal Enabledelayedexpansion
set "var=Whatever"
for %%a in ("c:\Ordner\*mmdd*") do (
set "name=%%~na"
ren "%%a" "!name:mmdd=%var%!%%~xa"
)
Wäre sehr dankbar für Hilfe
Grüße
Dulli
ist vllt ein simples Problem, aber ich habe leider echt wenig Ahnung davon und wäre sehr dankbar für eine Lösung.
Mein Wunsch wäre folgender:
Ich habe einen Ordner mit angenommen 50 Dateien die zb so aussehen:
1Apfelkuchen_te.pdf
2Apfelkuchen_te.pdf
3Apfelkuchen_te.pdf
4Apfelkuchen_te.pdf
Jetzt würde ich gerne bei jedem einen Teil löschen aber den Rest behalten. Eigentlich bräuchte ich einmal die Möglichkeit das _te zu löschen und einmal nur "kuchen"....
Ich habe natürlich gegoogelt, aber verstehe davon halt null, habe diesen quelltext gefunden, aber hab keine Ahnung wie ich den umändern muss, dass einer meiner Probleme damit gelöst wird
Das habe ich als Batch-Datei gefunden, vllt hilft es ja :S Wusste auch nicht was ich ändern muss, damit die Batch Datei meinen Ordner findet. In der Batch Datei will der ja "mmdd" ändern, das war mir bewusst aber auch wenn ich da "kuchen" reinschreibe klappt es nicht :,(
@echo off & setlocal Enabledelayedexpansion
set "var=Whatever"
for %%a in ("c:\Ordner\*mmdd*") do (
set "name=%%~na"
ren "%%a" "!name:mmdd=%var%!%%~xa"
)
Wäre sehr dankbar für Hilfe
Grüße
Dulli
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 385273
Url: https://administrator.de/contentid/385273
Ausgedruckt am: 24.11.2024 um 22:11 Uhr
4 Kommentare
Neuester Kommentar
Wer nimmt denn für sowas noch Batch her, Jung wir leben im 21 Jahrhundert... naja ist halt wat für'n gulli
Sowas löst man heutzutage elegant mit der PS
Oder in der Bash mit mmv
Such dir wat aus für deinen Apfelkuchen ...
@echo off & setlocal enabledelayedexpansion
set "folder=d:\ordner"
for %%a in ("%folder%\*.pdf") do (
set "name=%%~na"
ren "%%~a" "!name:_te=!%%~xa"
)
dir *.PDF -file | rename -newname {($_.Basename -replace '_te$','') + $_.Extension} -force
mmv -r "*_te.pdf" "#1.pdf"
Moin, Batch-Datei um mehrere Dateien teilweise umzubenennen#
ich hab dazu eine erweiterte Frage:
es existieren 2 Verzeichnisse mit inhaltlich gleichen, aber qualitativ unterschiedlichen Dateien (z.B. Bilder, Videos, u.a.)
Die qualitativ schlechteren haben bereits einen Namensteil, der in die anderen kopiert werden soll, z.B.:
..\low\2020-05-19_085513_Bild von Annika im Garten_low.jpg-->..\high\2020-05-19_085513_high.jpg
Nun möchte ich in Verzeichnis \low die Datei(en) anhand einer variablen Zeichenkette z.B. "2020-05-19_085513" finden, daraus den variablen Namensteil (hier: "Bild von Annika im Garten") kopieren, die gleiche Datei mit "2020-05-19_085513" im Ordner\highfinden und dort an gleicher Stelle den kopierten Namensteil einfügen. die Zieldatei heißt nun dann ..\high\2020-05-19_085513_Bild von Annika im Garten_high.jpg//
Folgende Rahmenparameter:
Tools wie FreeCommander, TotalCommander, etc. bieten zwar INNERHALB eines Verzeichnisses sagenhafte Umbenennungsoptionen, aber leider keine Such-/Kopier-/Vergleich-/Find-Funktion aus und zu dem jeweils anderen Fenster...
Gibt es dafür etwas ?
ich hab dazu eine erweiterte Frage:
es existieren 2 Verzeichnisse mit inhaltlich gleichen, aber qualitativ unterschiedlichen Dateien (z.B. Bilder, Videos, u.a.)
Die qualitativ schlechteren haben bereits einen Namensteil, der in die anderen kopiert werden soll, z.B.:
..\low\2020-05-19_085513_Bild von Annika im Garten_low.jpg-->..\high\2020-05-19_085513_high.jpg
Nun möchte ich in Verzeichnis \low die Datei(en) anhand einer variablen Zeichenkette z.B. "2020-05-19_085513" finden, daraus den variablen Namensteil (hier: "Bild von Annika im Garten") kopieren, die gleiche Datei mit "2020-05-19_085513" im Ordner\highfinden und dort an gleicher Stelle den kopierten Namensteil einfügen. die Zieldatei heißt nun dann ..\high\2020-05-19_085513_Bild von Annika im Garten_high.jpg//
Folgende Rahmenparameter:
- das Suchkriterium (zB "2020-05-19_085513" bis "2020-05-20_223814" oder anderes Bsp.: "S01E01"-S10E15") variiert, existiert aber jeweils nur einmal je Ordner, keine 2 Dateien mit dem gleichen Suchkriterium !
- der gesuchte Namensteil variiert in Startpunkt, aber auch in der Länge, ggfs kann eine Stop-Zeichenfolge definiert werden (z.B. 3 Leerzeichen, oder "_xyz") bis wohin der Name inklusive kopiert wird.
- Einfügepunkt des Namensteils in der Zieldatei ist identisch zur Fundstelle des Namensteils der Quelle, kann aber ebenfalls in der Position variieren, wenn vor dem Zeil-Suchkriterium schon zusätzliche Zeichen stehen (z.b. "drucken_2020-05-19_085513" oder "Husum 2020-05-19_085513").
- die beiden Ordner enthalten jeweils bis zu 400 Dateien, aber keine Unterordner
Tools wie FreeCommander, TotalCommander, etc. bieten zwar INNERHALB eines Verzeichnisses sagenhafte Umbenennungsoptionen, aber leider keine Such-/Kopier-/Vergleich-/Find-Funktion aus und zu dem jeweils anderen Fenster...
Gibt es dafür etwas ?