J'ai installé l' émulateur de shell cmder pour Windows.
Fonctionne bien mais je ne peux pas utiliser la commande find d'Unix. Apparemment, quand je tape:
'find .'
dans le terminal, il essaie d'utiliser le FIND de Windows et de générer cette erreur:
FIND: Parameter format not correct
J'aimerais vraiment utiliser find, une astuce sur la façon de le faire fonctionner?
windows
command-line
unix
find
terminal-emulator
Heisenbug
la source
la source
find
dansC:\Windows\System32
lequel il se trouve avant (où Windows trouve des vies) dans laPATH
variable d'environnement. Cela n'est généralement pas considéré comme une bonne idée à faire à l'échelle mondiale car cela a tendance à confondre d'autres programmes qui attendent un environnement Windows standard. Au contraire, vous devriez voir si vous pouvez définir un script de démarrage dans Cmder et faire en sorte que le script fasse quelque chose commeset PATH=C:\path\to\folder\with\unix\find;%PATH%
cmder
, mais sous Linux / Unixwhich -a find
affichera tous les programmes qui pourraient s'exécuter avec la commande find. Identifiez l'Unixfind
. Utilisez ensuite son chemin complet, ou réorganisez l'ordre desPATH
répertoires, ou définissez un alias, sicmder
cela prend en charge ceci; vous pouvez également renommer Windowsfind.exe
pourwfind.exe
. S'il émulebash
, alors vous pouvez utiliser le intégrétype -a find
.sfc /scannow
peut le restaurerwhich -a find
revient/c/WINDOWS/system32/find /usr/bin/find
. Malheureusement, cependant, les/usr/bin/find
rendements courantsThe system cannot find the path specified.
. Il semble que le chemin réel de style Windows soit nécessaire ici. L'exécutiontype
lance les fenêtrestype
, et il semblecmder
ne pas fournir la version de type Unix.Réponses:
La solution la plus simple consiste à créer un alias pour l'
find
exécutable dans lecmder
dossier d'installation:Puis-je vous suggérer également d'essayer Cygwin où, entre autres choses,
find
fonctionne hors de la boîte. C'est ce que j'ai utilisé pour déterminer l'emplacement ducmder
-fournifind.exe
.Kudos à @Bob et @AFH pour leurs commentaires perspicaces et à @ Lưu Phúc Vĩnh pour proposer une autre solution morte simple:
Cela pourrait en fait être préférable à la création d'un alias, car les
cmder
alias ne fonctionnent pas dans Windows 10, sauf s'ilsUse legacy console
sont sélectionnés dans lescmd
propriétés (voir comment le faire).la source
cmder
a l'avantage évident d'être portable et de ne pas nécessiter d'installation par un utilisateur privilégié.find
en un autre nom commefnd.exe
Cmder\vendor\git-for-windows\usr\bin
est ajouté au CHEMIN parCmder\vendor\init.bat
. Malheureusement, il est ajouté à la fin du CHEMIN, donc find.exe de Windows est trouvé en premier.Heureusement, c'est facile à réparer. Ajoutez simplement cette ligne à l'intérieur
Cmder\config\user-profile.cmd
:set "PATH=%GIT_INSTALL_ROOT%\usr\bin;%PATH%"
la source
J'ai installé smartgit dans windows
Ensuite, j'ajoute C: \ Program Files (x86) \ SmartGit \ git \ bin (mon dossier smartgit) dans l'environnement de chemin
appuyez sur win + r entrez bash. dans le shell bash, vous pouvez utiliser la commande find. dans Cmder, vous pouvez également taper bash pour l'utiliser
la source