À l'aide de la CLI Windows (cmd), comment localiser un fichier dont il connaît une partie du nom? Par exemple, chaque poste de travail Windows unique installe javac dans un emplacement différent, comment le trouver dans la CLI Windows (cmd)?
Sur Google, je ne vois que l'utilisation de l'interface graphique de Windows Explorer (gestionnaire de fichiers) ou le téléchargement d'une application gratuite. Windows n'a-t-il vraiment pas de commande de localisation intégrée? Les éditions serveur l'ont-elles? Je ne pas veux installer Cygwin ou quoi que ce soit d' autre, ceux - ci ne sont généralement pas mes machines.
windows
command-line
search
locate
dotancohen
la source
la source
javac
devrait généralement être au même endroit ...locate
etupdatedb
--per stackoverflow.com/questions/36841241/…Réponses:
Vous devriez pouvoir faire ce que vous devez faire avec
dir
:Remplacez [nom de fichier] par le nom de fichier que vous recherchez, vous devriez pouvoir utiliser des caractères génériques. / s le fait rechercher dans les sous-répertoires, donc si vous en avez besoin, vous pouvez démarrer à la racine de C: et le faire vérifier tout le lecteur.
la source
javac
soit installé pourC:\WINDOWS
...Personne ne parle de commande "où"? il recherche le fichier exécutable dans le CHEMIN de l'environnement actuel.
la source
Windos a la réponse la plus simple. Mais si vous aimez la ligne de commande, vous voudrez peut-être aussi regarder PowerShell. Pour effectuer le même type de recherche que vous utiliseriez
Ce qui a l'avantage de pouvoir être pompé dans une déclaration foreach pratique et d'exécuter un processus par rapport aux résultats de recherche.
la source
gci
ouls
.cmd
,PowerShell
vous pouvez utiliser "Tab" pour voir des suggestions, comme sous Linux. Donc, ce n'est pas tellement de taper en fait. Et, dans mon cas,ls
dans PowerShell ne fonctionne pas.J'ai simplement obtenu un programme de localisation pour Windows . Il vous suffit de suivre les instructions de lecture et de copier les fichiers .dll et .exe sur system32.
L'alternative comprend l'ajout du chemin du programme à la variable d'environnement PATH.
L'idée est de se localiser sur Windows si vous cherchez quelque chose de "similaire" à localiser. :)
la source
locate
est sur mon ordinateur Win7. Il se plaint que la base de données a 435 jours, alors que l'installation n'a pas plus de 3 mois. Etupdatedb
n'est pas inclus.La question est quelque peu ambiguë.
Vous souhaitez localiser un fichier (indiqué dans le corps de l'OP), mais vous souhaitez également une commande / application "type de localisation" (indiquée dans le titre). Il y a une considération subtile aux implications énormes. Vous pouvez localiser avec deux méthodes différentes:
Recherche de l'arborescence cible directement dans chaque recherche (lent).
Créer d'abord une base de données de l'arborescence cible (peut prendre beaucoup de temps), puis localiser en recherchant la base de données (très rapide). La base de données doit être mise à jour périodiquement pour obtenir de bons résultats dans les recherches. Voir http://en.wikipedia.org/wiki/Locate_%28Unix%29 .
Unix
locate
est de "type 2", mais selon le corps de votre OP, vous seriez d'accord avec l'une des deux méthodes. De plus, vous posez des questions spécifiques sur les options CLI.Je liste ci-dessous quelques options, et je précise si elles sont CLI / GUI, tapez 1/2, et j'ajoute quelques commentaires.
http://locate32.cogit.net/ (déjà signalé par John T puis par Cheeku ). GUI, type 2. Il existe une version portable. Facilité d'utilisation et configurabilité exceptionnelles. Très similaire à Unix
locate
(que j'ai utilisé et aimé beaucoup).Remarque : étant habitué au temps qu'Unix met
Updatedb
à jour une base de données (bien sûr, cela dépend de la taille de l'arborescence analysée), je trouvelocate32
extrêmement rapide. Je ne sais pas comment cela peut être tellement amélioré.http://sourceforge.net/projects/winlocate/ CLI, type 2.
dir [filename] / s , la solution de Windos . CLI, tapez 1.
gci ... , la solution d'OldWolf . CLI, tapez 1.
http://gnuwin32.sourceforge.net/packages/findutils.htm CLI, type 2.
Tout GUI, tapez?.
la source
J'ai créé un port PowerShell pour localiser et mettre à jourb. Utilise SQLite comme backend et dispose d'un programme d'installation automatique. Juste
les localisations prennent environ 300 ms / requête.
alors
et vous êtes prêt.
https://gallery.technet.microsoft.com/scriptcenter/Invoke-Locate-PowerShell-0aa2673a
la source
Pas besoin d'installer à la main. Voir http://chocolatey.org
Redémarrez l'environnement du shell
la source
Je sais que celui-ci a reçu une réponse il y a longtemps, mais ceci est mon script pour simuler la fonction de localisation utilisée dans unix / linux
Enregistrez-le sous le nom de Locate.bat et placez-le dans System32 OU exécutez-le à partir du répertoire dans lequel il est stocké. Prend un paramètre comme celui-ci "cmd> Locate javac.exe"
Le commutateur Locate / C (comme un deuxième paramètre comptera le nombre d'instances) et Locate /? affichera le texte d'aide
EDIT: (Script mis à jour, plus organisé et peut gérer une plus grande variété de situations, comme autoriser n'importe quel terme de recherche et pas seulement un nom de fichier)
la source
Pour les futurs historiens de Windows dans l'espace: nous avons eu la chance de tout chercher . Picture dmenu + find + mlocate enroulé en un joli petit service Windows avec options cli. Sauf que cette chose met à jour son index en temps réel . Rien sur Linux ne se rapproche. Ce sera l'une des rares fois où vous direz "bon, j'aimerais que ce sacré noyau soit un peu plus Microsofty"
la source
La réponse courte est qu'il n'y a pas d'équivalent exact sous Windows . La solution consiste à utiliser la commande dir . Il s'agit d'une commande de liste de répertoires qui prend en charge les caractères spéciaux et peut être utilisée comme indiqué dans la réponse acceptée.
La commande Locate sur de nombreux systèmes de type Unix est une recherche basée sur un index. Il fonctionne en tandem avec la commande Updatedb qui indexe les systèmes de fichiers. Comme il s'agit d'une recherche basée sur un index, elle est généralement beaucoup plus rapide que les commandes de recherche textuelle telles que dir et find sur Unix, en particulier lors de la recherche de hiérarchies de répertoires approfondies.
la source
where
est l'équivalent exact.Je ne connais aucune méthode CLI pour le faire dans Windows. Gardez à l'esprit que la CLI Windows a été abandonnée par les utilisateurs ordinaires, elle offre donc un ensemble d'outils généralement moins mature. Votre meilleur pari pourrait être d'utiliser le gnu
find
dans Windows, que vous pouvez obtenir de GnuWin32 . Si vous développez un script, il vous suffira d'inclurefind.exe
et ses dépendances avec le script (ne vous inquiétez pas, ce n'est pas très gros).la source