Fügen Sie mithilfe einer Batchdatei Text am Ende des Dateinamens (aber vor der Erweiterung) hinzu

Fügen Sie mithilfe einer Batchdatei Text am Ende des Dateinamens (aber vor der Erweiterung) hinzu

Ich habe eine Liste von Dateien im Format links. Ich möchte an jeden Dateinamen eine Zeichenfolge anhängen, aberVordie Erweiterung, wie gezeigt:

File 1.txt  ->  File 1 version 1.txt
File 2.txt  ->  File 2 version 1.txt
File 3.txt  ->  File 3 version 1.txt
File 4.txt  ->  File 4 version 1.txt
...

In jedem Fall ist die angehängte Zeichenfolge in allen Dateien gleich.

Dies scheint eine einfache Aufgabe zu sein, aber ich habe einige Probleme, dies in eine Batchdatei zu packen.

Ich habe den renBefehl ausprobiert und einige der Beispiele befolgtdiese Seite, aber die resultierenden Dateinamen hängen die Zeichenfolge annachdie Erweiterung:

File 1.txt version 1.txt

Antwort1

für längere Dateinamen müssen Sie noch einige weitere ?in den Block mit der Masse der?????????

ren *.?* ????????????????????????????????????????????????????????" version 1".*

Antwort2

Anstatt sich aufren's undokumentierte Macken, warum machen Sie es nicht auf die richtige Art und Weise?

for %a in (*.txt) do ren "%~a" "%~na version 1%~xa"

Wenn Sie dies in einer Batchdatei verwenden möchten, denken Sie daran, jedes %-Zeichen zu verdoppeln.

Diese Codezeile durchläuft alle passenden Dateien *.txtund führt für jeden Dateinamen einen Umbenennungsbefehl ( ren) aus. %aist der vollständige Dateiname, %~aist der Dateiname ohne zusätzliche Anführungszeichen (Anführungszeichen werden im Befehl hinzugefügt). %~naist der Dateiname ohne die Dateierweiterung und %~xaist die Dateierweiterung.

File 1.txtWenn es eine einzelne Datei im aktuellen Verzeichnis gibt, wird der folgende Befehl ausgeführt:ren "File 1.txt" "File 1 version 1.txt"

Antwort3

Ich wollte „_A“ zu mehreren Dateien hinzufügen und habe es so gemacht.

Ich habe zuerst die Erweiterung entfernt, das Suffix hinzugefügt und dann die Erweiterung wieder auf das Original zurückgesetzt. Das hat bei mir auf jeden Fall funktioniert und den Batch-Code einfach gehalten, da ich kein großer Programmierer bin.

@ECHO OFF

REN *.pdf *.
REN *. *_A.
REN *. *.pdf

Antwort4

Für Leute wie mich, die keine Erfahrung mit Befehlen haben, gibt es ein paar Softwareprogramme, die das Umbenennen großer Mengen sehr einfach machen:

  • Dienstprogramm zum Massenumbenennen (keine Open Source)
  • Benennen Sie es um! (Open Source)

verwandte Informationen