cmderで、linuxのfindコマンドを使用する(エラー: パラメーターの書式が違います)

カテゴリ: Windows | タグ:

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でエイリアスを定義しても反映されない時に確認すること


Amazonでおトクに買い物する方法
AmazonチャージでポイントGET


Amazonは買いもの前にAmazonギフト券をチャージしてポイントをゲットしないと損!

こちらもおススメ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です