Come nascondo le estensioni di file in un prompt dei comandi / output dir?


9

Quello che voglio fare sembra molto semplice:
ho una cartella in Windows contenente elementi di vario tipo tra cui file PDF, file TXT e sottodirectory. Sto scrivendo un file .bat di una riga per estrarre SOLO i nomi dei file PDF in un nuovo file di testo.

Finora questo è quello che ho nel .bat:

dir *.pdf /b > PDF_LIST.txt

Ciò fornisce il seguente output in un file PDF_LIST.txt:

A.pdf
B.pdf
C.pdf

Vorrei eliminare la parte ".pdf" di ogni riga nel file txt, poiché ovviamente so già che ogni file è in formato PDF dal parametro * .pdf nella mia istruzione dir.

Ciò mi semplificherebbe semplicemente la copia / incolla di tutti i nomi dei file direttamente dal file di testo in un documento di Word per una trasmissione che sto inviando al mio cliente. Se puoi suggerire un modo migliore o più semplice per ottenere l'elenco dei file senza utilizzare un file batch, sarebbe utile.

Risposte:


18

Nella tua sceneggiatura:

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

Whoa che mi fa impazzire (non ha mai davvero lavorato con la riga di comando). Ok, ci proverò. Grazie!
No Catarsi

1
Vedere help forper avere qualche ulteriore stimolazione cranica.
In pausa fino a nuovo avviso.

Ho corretto (quello che penso fosse) il tuo refuso nel codice ed ho eseguito questo comando: per %% i in (* .pdf) do @echo %% ~ ni >> PDF_LIST.txt sto ottenendo la risposta "%% i era inatteso in questo momento "e nessun altro output.
No Catarsi

2
@NoCatharsis: mi dispiace per l'errore di battitura. Alla riga di comando basta usare single %. Utilizzare %%nel file batch.
In pausa fino a nuovo avviso.

Fantastico, funziona come un incantesimo - grazie mille per l'aiuto rapido.
No Catarsi

0

La maggior parte degli editor di testo (incluso il blocco note) ha trovato e sostituito. Usalo per trovare tutto ".pdf" e sostituiscilo con "". Fatto :)

Puoi anche impostarlo come macro in word.


Sì, uso Notepad ++ per farlo in questo momento - tuttavia mi chiedevo solo se c'era un modo per tagliare un altro passo scrivendolo in uno script.
No Catarsi
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.