puis-je utiliser CMD pour rechercher des fichiers dans Windows?

27

Je veux qu'une commande recherche un fichier dans un répertoire et tous les sous-répertoires dans Windows en utilisant la ligne de commande. J'ai vu toutes les commandes disponibles mais je n'ai trouvé aucune commande appropriée pour effectuer cette opération.

Wael Dalloul
la source

Réponses:

36

À l'invite (ligne de commande), tapez:

dir /S /P "Path\FileName"

Si vous souhaitez enregistrer les résultats dans un fichier texte:

dir /S "Path\FileName" > "Path\ResultFilename"
Matan Eldan
la source
3
Si le fichier est caché ou un fichier système, vous pouvez également inclure le paramètre / a! 8-)
Richard Lucas
Un peu plus d'informations: Le /sfait une recherche, tandis que les /ppauses après un écran valant des résultats sont affichées. Pour plus d'options, vous pouvez le faire dir /?.
Luke
1
L' /soption ne "fait pas de recherche". Il étend la dircommande - qui répertorie les fichiers dans le dossier actuel par défaut - pour répertorier également tous ceux dans tous les sous-dossiers. Cela étend la dirportée de la commande pour répertorier absolument tout dans un lecteur ou un dossier plutôt que d'être limité à celui en cours.
Hashim
16

utiliser le /bcommutateur pour dirimprimer le chemin complet peut être utile. dire,C:\ > dir /b /s *file*.*

vous pouvez toujours filtrer le résultat avec findou for, et rediriger la sortie vers un fichier avec>filename

Jokester
la source
2

dirn'était pas destiné à la recherche de fichiers mais à la liste des répertoires, mais maintenant il y en a wherequi peut être utilisé pour rechercher plusieurs types de fichiers comme where /R c:\Users *.dll *.exe *.jpg

vérifiez la syntaxe complète et la réponse pour savoir comment effectuer une recherche de fichier simple dans cmd

WHERE [/R dir] [/Q] [/F] [/T] pattern...

Description:
    Displays the location of files that match the search pattern.
    By default, the search is done along the current directory and
    in the paths specified by the PATH environment variable.

Parameter List:
    /R       Recursively searches and displays the files that match the
             given pattern starting from the specified directory.

    /Q       Returns only the exit code, without displaying the list
             of matched files. (Quiet mode)

    /F       Displays the matched filename in double quotes.

    /T       Displays the file size, last modified date and time for all
             matched files.

    pattern  Specifies the search pattern for the files to match.
             Wildcards * and ? can be used in the pattern. The
             "$env:pattern" and "path:pattern" formats can also be
             specified, where "env" is an environment variable and
             the search is done in the specified paths of the "env"
             environment variable. These formats should not be used
             with /R. The search is also done by appending the
             extensions of the PATHEXT variable to the pattern.

     /?      Displays this help message.

  NOTE: The tool returns an error level of 0 if the search is
        successful, of 1 if the search is unsuccessful and
        of 2 for failures or errors.

Examples:
    WHERE /?
    WHERE myfilename1 myfile????.*
    WHERE $windir:*.* 
    WHERE /R c:\windows *.exe *.dll *.bat  
    WHERE /Q ??.??? 
    WHERE "c:\windows;c:\windows\system32:*.dll"
    WHERE /F /T *.dll 
Vinod Srivastav
la source