Wie verstecke ich Dateierweiterungen in einer Eingabeaufforderung / Verzeichnisausgabe?

9

Was ich tun möchte, scheint sehr einfach zu sein:
Ich habe einen Ordner in Windows, der Elemente verschiedener Typen enthält, einschließlich PDF-Dateien, TXT-Dateien und Unterverzeichnisse. Ich schreibe eine einzeilige .bat-Datei, um NUR die PDF-Dateinamen in eine neue Textdatei zu ziehen.

Bisher habe ich Folgendes in der .bat:

dir *.pdf /b > PDF_LIST.txt

Dies ergibt die folgende Ausgabe in einer PDF_LIST.txt-Datei:

A.pdf
B.pdf
C.pdf

Ich möchte den ".pdf" -Teil jeder Zeile in der txt-Datei löschen, da ich offensichtlich bereits weiß, dass jede Datei durch den Parameter * .pdf in meiner dir-Anweisung im PDF-Format vorliegt.

Dies würde es mir nur einfacher machen, alle Dateinamen direkt aus der Textdatei in ein Word-Dokument zu kopieren / einzufügen, damit ich sie an meinen Kunden senden kann. Wenn Sie einen besseren oder einfacheren Weg vorschlagen können, um die Dateiliste ohne Verwendung einer Batchdatei abzurufen, wäre dies ebenfalls hilfreich.

NoCatharsis
quelle

Antworten:

18

In Ihrem Skript:

for %%i in (*.pdf) do @echo %%~ni >> PDF_LIST.txt
Bis auf weiteres angehalten.
quelle
Whoa, das mich umgehauen hat (hat nie wirklich mit der Kommandozeile gearbeitet). Ok, ich werde es versuchen. Vielen Dank!
NoCatharsis
1
Sorgen Sie help forfür eine zusätzliche Schädelstimulation.
Bis auf weiteres angehalten.
Ich habe Ihren Tippfehler im Code korrigiert (was ich denke) und diesen Befehl ausgeführt: Für %% i in (* .pdf) do @echo %% ~ ni >> PDF_LIST.txt Ich erhalte die Antwort "%% i war zu diesem Zeitpunkt unerwartet "und keine andere Ausgabe.
NoCatharsis
2
@ NoCatharsis: Entschuldigung für den Tippfehler. Verwenden Sie in der Befehlszeile einfach single %. Verwenden Sie %%in Ihrer Batch-Datei.
Bis auf weiteres angehalten.
Cool, funktioniert wie ein Zauber - vielen Dank für die schnelle Hilfe.
NoCatharsis
0

Die meisten Texteditoren (einschließlich Notizblock) haben Suchen und Ersetzen. Verwenden Sie es einfach, um alle ".pdf" zu finden und ersetzen Sie es durch "". Erledigt :)

Sie können dies auch als Makro in Word festlegen.

Sonnig
quelle
Ja, ich verwende Notepad ++, um dies jetzt zu tun. Ich habe mich jedoch nur gefragt, ob es eine Möglichkeit gibt, einen weiteren Schritt auszuschneiden, indem ich ihn in ein Skript schreibe.
NoCatharsis