11

PowerShellでコマンドラインインターフェイスを利用する方法を学ぶためのLearnCodetheHardWayのチュートリアルに従っています。この記事では、コマンドを使用するように指示されていますmkdir -p i\like\icecream。下部には、「mkdir -pすべてのディレクトリが存在しなくても、パス全体が作成される」と説明されています。

議論がmkdir i\like\icecreamなくても同じことをするので、私は混乱しています。-p「one」ディレクトリを作成してから「one\two \ three」を作成するなどの実験と作業を行ったmkdirところ、3つを配置するための2つのディレクトリが自動的に作成されます-p。これ?私はこの議論が何をするのか途方に暮れています。

4

2 に答える 2

15

PowerShell は、完全に指定しなくても、意味するパラメーターを判断するために最善を尽くします。したがって、-pパラメータを使用する場合、実際には を使用してい-pathます。

mkdir 関数の場合、-pathパラメーターは作成するパスを関数に伝えます。-pathまた、明示的なパラメーターが指定されていない場合、デフォルトで関数の最初の引数になります。したがって、関数に関する限り、-p( -path) を使用する場合と使用しない場合の関数の呼び出しはまったく同じです。-p

詳細については、シェル タイプで次のように入力します。

Get-Help mkdir

また、mkdir を呼び出すときに実際に行っていることは、New-Item コマンドレットを呼び出し、-ItemType パラメーターを Directory として指定していることです。そのため、そのコマンドを実行すると New-Item ヘルプが表示されます。mkdir 関数の実際のコードを表示して、これがどのように行われるかを確認するには、次のようにします。

(get-command mkdir).ScriptBlock
于 2012-10-22T19:29:26.337 に答える