Windowsでcmd.exeの替わりに使用できるコマンドラインツールにcmderがあります。
cmderでは最初からgit for Windowsが使用でき、これに伴いLinuxのコマンド群も利用することができます。
ですが、Linuxのfindコマンドを利用しようとすると、以下のように、"FIND: パラメーターの書式が違います"というエラーが出力されます。
$ find
FIND: パラメーターの書式が違います
エラーになるのは、Linuxコマンドのfindではなく、windowsのfind.exeが実行されてしまっているためです。
解決方法
この問題を解決するにはfindコマンドをフルパスで指定すればよいです。
$ C:\tools\cmder\vendor\git-for-windows\usr\bin\find.exe --help
Usage: /usr/bin/find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
default path is the current directory; default expression is -print
expression may consist of: operators, options, tests, and actions:
operators (decreasing precedence; -and is implicit where no others are given):
( EXPR ) ! EXPR -not EXPR EXPR1 -a EXPR2 EXPR1 -and EXPR2
EXPR1 -o EXPR2 EXPR1 -or EXPR2 EXPR1 , EXPR2
毎回フルパスで指定するのが面倒なら、以下のようにaliasを定義してしまえば、"find"とだけコマンドを入力したときに、Linuxのfindコマンドが実行されるようになります。
# findコマンド自体を置き換える
alias find="C:\tools\cmder\vendor\git-for-windows\usr\bin\find.exe"
フルパスで入力したくはないけど、Windowsのfind.exeコマンドも使えるようにしたい場合は、以下のようにffindなど、別の名前で定義してしまうのも良い方法です。
# 別の名前"ffind"でエイリアスを作る
alias ffind="C:\tools\cmder\vendor\git-for-windows\usr\bin\find.exe"
エイリアスを常に設定するよう設定ファイルを編集する
エイリアスを常に設定しておきたい場合は、cmderのインストールフォルダ(通常はC:\tools\cmder)のあるconfig\user-aliases.cmd"ファイルへ以下のように定義を追加します。(最後の行にffindを追加しています)
;= @echo off
;= rem Call DOSKEY and use this file as the macrofile
;= %SystemRoot%\system32\doskey /listsize=1000 /macrofile=%0%
;= rem In batch mode, jump to the end of the file
;= goto:eof
;= Add aliases below here
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
ls=ls --show-control-chars -F --color $*
pwd=cd
clear=cls
history=cat "%CMDER_ROOT%\config\.history"
unalias=alias /d $1
vi=vim $*
cmderr=cd /d "%CMDER_ROOT%"
ffind="C:\tools\cmder\vendor\git-for-windows\usr\bin\find.exe" <- この行を追加
設定しても正しく反映しない場合は、下記の記事も参考にしてさい。
Cmderでエイリアスを定義しても反映されない時に確認すること
こちらもおススメ