PDA

View Full Version : shell di winxp. trovare i file con una parola specifica.


john_revelator
26-10-2007, 12:49
Ciao a tutti. Ho una domanda che per molti di voi immagino sarà banale. :fagiano:

Vorrei sapere tramite la shell, avendo un elenco di file all'interno di una cartella, qual'è il comando per trovare tutti quelli che hanno nel nome stesso una specifica parola (che può essere in qualunque posizione).
Grazie a tutti. :)

john_revelator
26-10-2007, 12:58
Ho risolto.

dir *parola*.*

Scusatemi il disturbo. :)

john_revelator
27-10-2007, 09:55
Scusate, altro problema.
Se invece volessi l'elenco dei file che contengono una parola tra due o più che scelgo io?

ho provato così

dir *parola|altra_parola*.*

ma ovviamente mi da errore. Qualche consiglio?

Grazie. :)

Khronos
27-10-2007, 10:38
Scusate, altro problema.
Se invece volessi l'elenco dei file che contengono una parola tra due o più che scelgo io?

ho provato così

dir *parola|altra_parola*.*

ma ovviamente mi da errore. Qualche consiglio?

Grazie. :)

linux shell dipendente? lol

ti copio incollo una console autoesplicativa ;)


C:\directory>dir/p
Il volume nell'unità C è HD 40 Sl
Numero di serie del volume: FF47-80EB

Directory di C:\directory

27/10/2007 11.33 <DIR> .
27/10/2007 11.33 <DIR> ..
27/10/2007 11.32 0 blu (1).txt
27/10/2007 11.32 0 blu (2).txt
27/10/2007 11.32 0 blu (3).txt
27/10/2007 11.32 0 blu (4).txt
27/10/2007 11.32 0 blu (5).txt
27/10/2007 11.32 0 blu (6).txt
27/10/2007 11.32 0 ciao.txt
27/10/2007 11.32 0 mondo (1).txt
27/10/2007 11.32 0 mondo (2).txt
27/10/2007 11.32 0 mondo (3).txt
27/10/2007 11.32 0 mondo (4).txt
27/10/2007 11.32 0 mondo (5).txt
27/10/2007 11.32 0 mondo (6).txt
27/10/2007 11.32 0 mondo (7).txt
27/10/2007 11.32 0 verde (1).txt
27/10/2007 11.32 0 verde (2).txt
27/10/2007 11.32 0 verde (3).txt
27/10/2007 11.32 0 verde (4).txt
27/10/2007 11.32 0 verde (5).txt
27/10/2007 11.32 0 verde (6).txt
27/10/2007 11.32 0 verde.txt
21 File 0 byte
2 Directory 145.820.520.448 byte disponibili

C:\directory>dir *ao* blu*.* verde* /p
Il volume nell'unità C è HD 40 Sl
Numero di serie del volume: FF47-80EB

Directory di C:\directory

27/10/2007 11.32 0 ciao.txt

Directory di C:\directory

27/10/2007 11.32 0 blu (1).txt
27/10/2007 11.32 0 blu (2).txt
27/10/2007 11.32 0 blu (3).txt
27/10/2007 11.32 0 blu (4).txt
27/10/2007 11.32 0 blu (5).txt
27/10/2007 11.32 0 blu (6).txt

Directory di C:\directory

27/10/2007 11.32 0 verde (1).txt
27/10/2007 11.32 0 verde (2).txt
27/10/2007 11.32 0 verde (3).txt
27/10/2007 11.32 0 verde (4).txt
27/10/2007 11.32 0 verde (5).txt
27/10/2007 11.32 0 verde (6).txt
27/10/2007 11.32 0 verde.txt
14 File 0 byte
0 Directory 145.820.520.448 byte disponibili

C:\directory>
ossia separi con lo spazio le varie condizioni ;)

john_revelator
27-10-2007, 11:21
Grazie Khronos per la risposta.
Ho replicato in locale l'esempio che mi hai fatto e funziona perfettamente.
Perdonami ma non ho capito il perchè del punto tra blu e verde. Me lo potresti spiegare? Grazie. :fagiano:

edit.
Se ad esempio aggiungo alla tua cartella due file di nome
pippo verde.txt
e
pippo blu.txt

non mi vengono trovati.

john_revelator
27-10-2007, 12:20
Come non detto.
Ho risolto così. Mi sei stato di grandissimo aiuto.
Grazie ancora e complimenti. :)

dir *parola* *altra_parola* /b > elenco.txt

Khronos
27-10-2007, 12:53
Grazie Khronos per la risposta.
Ho replicato in locale l'esempio che mi hai fatto e funziona perfettamente.
Perdonami ma non ho capito il perchè del punto tra blu e verde. Me lo potresti spiegare? Grazie. :fagiano:

edit.
Se ad esempio aggiungo alla tua cartella due file di nome
pippo verde.txt
e
pippo blu.txt

non mi vengono trovati.

gli identificatori nel dos funzionano così (ma penso che tu lo sappia già)
* identifica qualsiasi cosa, di qualsiasi lunghezza.
il . (punto) identifica il separatore tra nome file e estensione.
c'è anche il carattere jolly ? che identifica UNA lettera qualsiasi, solo UNA, però.

se tu gli dici

dir ciao*

lui cercherà tutti i file che iniziano per ciao, e finiranno con qualsiasi cosa.
ora, io gli faccio cercare

dir ciao*.*

è solo una precisazione, perchè ora con l'ultima versione dos va benissimo anche quella prima. con *.* identifico qualsiasi cosa CON qualsiasi estensione.
è logico che puoi concatenare le cose, cercando per esempio

dir a*ciao*mezzo b* *zeta?.asd

lui mi troverà, nell'ordine:

tutti i file che iniziano per a, tra "a" e "ciao" abbiano qualsiasi cosa, tra "ciao" e "mezzo" qualsiasi cosa, ma il nome file finisce con "mezzo", non c'è estensione.

tutti i file che iniziano per "b" qualsiasi cosa ci sia dopo

tutti i file che iniziano con qualsiasi stringa, e che abbiano "zeta"+1 carattere qualsiasi (Azetab.asd, Bzetae.asd, czetau.asd, dffaffzetaR.asd sono esempi) e estensione .asd


ci sei? ;)

john_revelator
27-10-2007, 13:17
Non avresti potuto essere più chiaro di così.
Grazie ancora per la spiegazione... e per la disponibilità.
Ciao e buon fine settimana. :)