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.

Antworten:


18

In Ihrem Skript:

for %%i in (*.pdf) do @echo %%~ni >> PDF_LIST.txt

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.


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.