Entfernen von Suffixen aus mehreren Dateien in Windows - keine Duplikate

Entfernen von Suffixen aus mehreren Dateien in Windows - keine Duplikate

Dies mag wie eine doppelte Frage erscheinen, ist es aber nicht. Mein Problem ist etwas anders. Tatsächlich hatte ich einen Ordner mit vielen MP4-Dateien und wollte jedem Dateinamen die Endung GOOD geben. Als ich die Antworten auf die vorherige Frage sah, habe ich etwas unternommen und die Endung .mp4good gegeben. So wurde aus einer Datei, die ursprünglich a.mp4 war, a.mp4good.mp4 statt aGOOD.mp4 (was ich eigentlich wollte). Glücklicherweise funktionieren alle diese Dateien, aber die Namen sind nicht die, die ich wollte. Ich bitte um Hilfe, wie ich von diesem Punkt an das bekomme, was ich will. Ich habe den Befehl „rename“ in DOS aus dem Ordner verwendet, der diese Dateien enthält.

Antwort1

Wie Sie festgestellt haben, war die Syntax, die Sie zum Anhängen eines Suffixes an den Basisnamen verwendet haben, falsch. Eine Erklärung dazu finden Sie unter Wie interpretiert der Windows-Befehl RENAME Platzhalter?. Dieser Link hat auch die richtige Syntax zum Anhängen an den Basisnamen:

ren *.mp4 ??????????????????GOOD.*

Die Anzahl muss ausreichen, ?um der Länge des längsten Basisnamens zu entsprechen.

Beachten Sie, dass wenn Sie einige Anfangsnamen der Form haben a.b.mp4, das obige Ergebnis ergibt aGOOD.b.mp4. Wenn Sie wollen a.bGOOD.mp4, brauchen Sie mehr als einen einfachen REN-Befehl. Sie könnten verwenden

for %F in (*.mp4) do @ren "%F" "%~nFGOOD.mp4"

Wenn Sie den Befehl in ein Batch-Skript einfügen, müssen Sie die Prozente verdoppeln

@echo off
for %%F in (*.mp4) do ren "%%F" "%%~nFGOOD.mp4"

Derzeit haben Sie Namen der Form a.mp4GOOD.mp4und Sie möchten aGOOD.mp4.

Die Lösung ist:

ren *.mp4GOOD.mp4 ??????????????????GOOD.mp4

Wenn einige Namen mehr als zwei Punkte haben, benötigen Sie wiederum mehr als einen einfachen REN-Befehl.

for %A in (*.mp4GOOD.mp4) do @for %B in ("%~nA") do @ren "%B" "%~nBGOOD.mp4

Denken Sie daran, die Prozentwerte zu verdoppeln, wenn Sie den Befehl in ein Batch-Skript einfügen.

verwandte Informationen