Fügen Sie unter Windows mehreren PDF-Dateien ein Präfix hinzu

601
Lia

Ich habe einen Ordner mit 100 Rechnungen und alle müssen das Präfix "INVOICE_" voranstellen. Ich habe versucht, einen Befehl auszuführen, aber es scheint nicht zu funktionieren.
Ich habe es versucht, ren * INVOICE_*.PDFaber es funktioniert nicht. Kann mir jemand helfen, das herauszufinden?

2
https://softwarerecs.stackexchange.com ist der bevorzugte Ort, um nach Apps zu fragen, die Sie hinzufügen könnten, wenn Sie Windows verwenden, das nicht weiß, wie das geht. K7AAY vor 5 Jahren 0

4 Antworten auf die Frage

2
JSanchez

Eine schnelle und schmutzige Batch-Datei, die das macht, was Sie wollen.

@echo off ::Create a temporary filename. set _tmpfile=%random%  ::Store the prefix you want to use in the rename in a variable set _prefix=INVOICE_  ::List of files to be renamed are held in the _tmpfile ::so be sure that you are in the correct folder/directory. dir *.pdf /b>%_tmpfile%  ::Now, loop through the _tmpfile and rename each file using the _prefix variable :: Remove the ECHO below in order for this to work. for /f %%x in (%_tmpfile%) do ECHO ren %%x %_prefix%%%x  ::Delete the _tmpfile if exist %_tmpfile% del %_tmpfile% 

Update: Die Stapeldatei benennt die Dateien nicht um. Es würde Ihnen nur den Befehl zeigen, den es ausführen würde, wenn Sie die Zeichenfolge "ECHO" aus der Zeile "for / f in %% x" entfernen. Dann benennt die Batchdatei die Dateien um.

Hoffe das hilft!

Vielleicht möchten Sie etwas über einen Trockenlauf und dann das Löschen des ECHO erläutern. (2) Warum machen Sie nicht einfach `` für %% x in (* .pdf) do``` und überspringen das TMPfile? Scott vor 5 Jahren 0
@scott: für # 1 dachte ich, dass die Kommentare in der Batch-Datei ausreichen würden. Ich werde die Antwort aktualisieren. Bei # 2 fügte der Stapel während meines Tests das Präfix zweimal zur ersten Datei hinzu. Am sichersten war es, zur temporären Datei umzuleiten und diese dann zu wiederholen. JSanchez vor 5 Jahren 0
1
K7AAY

Der Befehl ren funktioniert anders als erwartet. Klicken Sie auf den Link, um mehr darüber zu erfahren. Ein Dienstprogramm zum Umbenennen von Dateien von Drittanbietern macht dies wesentlich einfacher. Es gibt eine Reihe von kostenlosen Open Source-Programmen, beispielsweise
https://sourceforge.net/projects/renameit/
http://file-folder-ren.sourceforge.net/
https://sourceforge.net/projects / mfrv02 /
https://sourceforge.net/projects/multifilerename/
https://sourceforge.net/projects/freefilerenamer/
https://sourceforge.net/projects/personalrenamer/
http://regexrenamer.sourceforge.net/
http : //rename.sourceforge.net/
unter anderem.

Ich kann hier keine Empfehlung für eine bestimmte App abgeben, aber https://softwarerecs.stackexchange.com ist der bevorzugte Ort, um nach Apps zu fragen.

1
Scott

Der Fragetitel lautet "in Windows", daher ignoriere ich den Tag und gebe Ihnen eine PowerShell-Lösung. Rufen Sie die PowerShell auf (geben Sie powershellan der cmdEingabeaufforderung ein oder führen Sie sie über das Menü aus) und geben Sie ein

dir *.pdf | rename-item -newname {$_.name -replace "^","INVOICE_"} 

Scheint ziemlich selbsterklärend: Nimm den Namen jeder PDF-Datei und benenne sie in einen neuen Namen um, der gebildet wird, indem der Anfang des alten Namens (gekennzeichnet durch den regulären Ausdruck  ^) durch „ INVOICE_“ ersetzt wird.

Fast wortwörtlich kopiert von How to Batch Umbenennen mehrerer Dateien unter How-To-Geek.

-1
Keltari

Versuchen Sie diesen Befehl

ren *.pdf INVOICE_*.pdf