Come eseguire una semplice ricerca di file in cmd


131

Voglio cercare rapidamente un file dato il suo nome o parte del suo nome, dalla riga di comando di Windows (non power shell). Questo è simile all'apertura di explorer e all'utilizzo della casella di ricerca in alto.

Nota: dirpuò eseguire ricerche in base a un modello di stringa ma non cercherà nelle sottodirectory.

Nota2: findstrpuò essere utilizzato per cercare un token all'interno di file e ha un flag di ricorsività; è divertente che una scoperta più complessa possa essere facilmente scoperta ...


Risposte:


175

dir /s *foo* cerca nella cartella corrente e nelle sottocartelle.

Trova directory e file.

dove / i significa (documentazione) :

/ s Elenca tutte le occorrenze del nome file specificato nella directory specificata e in tutte le sottodirectory.


Ho un'altra domanda, come copiare questi documenti trovati in un'altra cartella? Grazie mille
Hong Cheng,

@HongCheng È possibile utilizzare il carattere jolly con Xcopydopo aver verificato l'output con il DIRcomando sopra come utilizzare lo stesso xcopy *foo* c:\Tempper trovare tutti i *foo*file e copiarli nella c:\Tempdirectory
Vinod Srivastav,

128
dir /b/s *.txt  

cerca tutti i file txt nella struttura di directory. Prima di usarlo basta cambiare la directory in root usando

cd/

puoi anche esportare l'elenco in un file di testo usando

dir /b/s *.exe >> filelist.txt

e cerca all'interno usando

type filelist.txt | find /n "filename"

EDIT 1: Sebbene questo comando dir funzioni dai vecchi tempi di DOS, ma Win7 ha aggiunto qualcosa di nuovo chiamato Where

where /r c:\Windows *.exe *.dll

cercherà exe & dll nell'unità c: \ Windows come suggerito da @SPottuit puoi anche copiare l'output negli appunti con

where /r c:\Windows *.exe |clip

aspetta solo che il prompt ritorni e non copiare nulla fino ad allora.

MODIFICA 2: se stai cercando in modo ricorsivo e l'output è grande, puoi sempre usare moreper abilitare il paging, verrà mostrato -- More --in fondo e scorrerà alla pagina successiva una volta che premi SPACEo ti muovi riga per riga premendoENTER

where /r c:\Windows *.exe |more

Per ulteriori informazioni, prova

where/?

5
È inoltre possibile esportare l'elenco negli Appunti sostituendolo >> filelist.txtcon | clip. Maggiori informazioni sull'uso di | clip .
Sjoerd Pottuit

6
Aggiungendo /bdietro dirviene restituito solo il nome file o il percorso file (se si cerca in più cartelle) ( b sono formati) e nessun dettaglio del file e della cartella. Con l'aggiunta di /sdietro dirle s UB-directory saranno cercati. Maggiori informazioni sul comando dir .
Sjoerd Pottuit

Non so perché questa non è la risposta accettata. Contiene tutto ciò che ha e molto altro. Grazie per aver pubblicato questo Vorrei poter votare più di una volta!
Avrohom Yisroel,

1
ci si aspetterebbe che solo cd \ o cd \ cambierebbe nella directory principale, ma sembra che cd / faccia anche il lavoro su Windows 10 - non sono sicuro dal momento che quale versione DOS / Windows sia vera
George Birbilis il

1
@Vinod Srivastav, molto gentile. Spiegazione di tutti i possibili scenari.
Klanto Aguntuk,

2

dir *.txt /s /p fornirà informazioni più dettagliate.


1
Quali dettagli? /pfarà una pausa ed è lo stesso diwhere /r c:\Windows *.exe /T |more
Vinod Srivastav,

0

Il problema con DIR è che restituirà risposte errate. Se stai cercando DOC in una cartella usando DIR *.DOCquesto ti darà anche il DOCX . La ricerca *.HTMfornirà anche l' HTML e così via ...


2
Ecco perché si dovrebbe usare WHERE come Where /R c:\ *.DOC *.HTMper lo scopo
Vinod Srivastav

Vinod Srivastav. L'ho provato ora e wow, questo lavoro è meraviglioso. :) Lo implementerò nei miei batch.
Hobbe Lundahl,

0

Puoi cercare in Windows per DOS e la GUI di Explorer.

DOS:

1) DIR

2) ICACLS (cerca file e cartelle per impostare ACL su di essi)

3) cactus ............................................... ...

2) esempio

icacls c: * ntoskrnl *. * / grant system: (f) / c / t, quindi usa PMON da sysinternals per monitorare a quali cartelle sono negati gli accessi. Il risultato contiene

il percorso di accesso contiene l'unità

il nome del processo è explorer.exe

quelli erano i filtri che devi applicare

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.