Escludendo i file di una determinata estensione utilizzando il comando DIR sulla riga di comando di Windows


19

se voglio vedere, ad esempio, i file di una determinata estensione usando solo la directory dir, posso farlo usando il comando:

DIR *.txt 

E mostra tutti i file con .txtestensione.
Ora voglio sapere c'è qualche comando con cui posso escludere determinate estensioni?
Ad esempio, non voglio vedere alcun file con estensione .exe, come posso farlo?

Risposte:


26

DIR non permetterà ciò che stai cercando di fare. Tuttavia DIR e FINDSTR possono risolvere questo problema.

es. Quanto segue ignora tutti i file .txt nell'elenco DIR.

dir | findstr /v /i "\.txt$" 

1
potresti voler usare dir /b | findstr /v /i "\.txt$"perché dirprodurrà l'intestazione e alla fine
— verranno

Perché findstroltre find?
— Sopalajo de Arrierez,

Perché trovare ricerche di testo e findstr supporta regex, ho suggerito Findstr. Se vuoi solo cercare una stringa esatta, la ricerca funzionerebbe bene.
— IUnnown

8
dir /B | find /V ".txt"

Questo elenca tutti i file e trova filtra tutto ciò che non contiene ".txt". È tutt'altro che perfetto, ma forse è abbastanza :)


Non ne /Bho bisogno , direi, ma preferisco questa risposta fintanto che non vedo la necessità di "findstr" (quello effettivamente accettato).
— Sopalajo de Arrierez,

3

Dipende dal tuo interprete di comandi.

Microsoft cmdnon ha una tale funzione, come puoi vedere dalle altre risposte in cui si deve post-elaborare l'output di dir. Lo fa TCC / LE di JP Software . Si chiama intervallo di esclusione dei file e viene utilizzato in questo modo per l'esempio nella domanda:

dir /[!*.exe] *


Grazie, ma penso che questo strumento funzioni come programma autonomo. Sto realizzando la mia applicazione in cui eseguo un processo esterno utilizzando Windows Shell o Bash in Ubuntu, quindi questo strumento non si adatta, se forniscono interruttori di linea cmd, sarà utile.
— Johnydep,

1
Ciò che precede è chiaramente un interruttore da riga di comando. Leggi la documentazione con collegamento ipertestuale. Naturalmente, nella maggior parte dei linguaggi di programmazione, è abbastanza stupido andare fino in fondo usando la shell per ottenere i contenuti della directory e ci si trova su StackExchange sbagliato per scrivere applicazioni.
— JdeBP,

grazie per la spiegazione, è vero, ma è una soluzione alternativa per la scansione di quelle directory che richiedono Elevation e non voglio fare in modo che il mio codice attivi il prompt UAC, quando posso ottenere risultati dal prompt cmd senza richiedere privilegi più elevati.
— Johnydep,
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.