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.mp4
und 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.