2011-03-09 8 views
2

デフォルトでは、Powershellはローカル実行可能ファイルの前に "。\"を必要とします。だから、PowerShellで地元のコマンドを実行するために、あなたはローカルコマンドを実行する際にpowershellの "。"をオフにする方法はありますか?

オフ「\。」を入力するための要件をオンにするので、私はちょうど

foo arg1 

のように実行することができ、正しい名前は何ですかどのように

.\foo arg1 

のようなものを入力し必要"。\"の?

答えて

7

.が現在のディレクトリで、\がパス区切りです。つまり、.\fooはfooプログラムへの相対パスです。

.が環境変数PATHに含まれていない場合は、上記のように指定する必要があります。これを避けるには、PATH変数に.を追加します。しかし、それはセキュリティ上のリスクにつながるため、経験則として決してそうしないでください。より良い使用.\foo、またはさらに良い絶対パスを提供します。

+0

実際に私はこれがセキュリティ上の問題につながる可能性があることを知っています(ただし、誰かがあなたのローカルフォルダに悪質な実行ファイルを置くことができます)。私の場所に大きな問題がありますl環境。私にチェックさせてください。 –

1

実行可能ファイルのみを目的の場所で実行することを確認するセキュリティ機能です。これにより、あなたは正しい実行可能ファイルを実行し、ハイジャックされた実行可能ファイルは実行しません。

これは言語/シェルの実装であり、IMOをオフにすることはできません。

0

あなたはそれをオフにすることはできませんが、モジュール(あるいは別の場所にロードしているスクリプト)に関数を入れて、少なくともそれらの関数を呼び出すことはもっと素敵です。 \ foo

0

おそらく.tabcompletion関数がそれを検出するので、foo [TAB]と書くと自動的に。\ fooに展開されます。このため、私は "

関連する問題