Format-Table
次のようなPowershell文字列があるとします。
ls | Format-Table Name, @{expression={$_.Length / 1024}; label='KB'}
これから得られる出力には満足していますが、使用するたびに入力したくありません。次のような簡単な 1 語のコマンドで呼び出すことができるようにしたいと思います。
ls | Format-KiloBytes
エイリアスはパラメーターを指定できないため、このための関数を定義する必要があると思います。ただし、次のように定義すると:
function kilobytes {format-table Name, @{expression={$_.Length / 1024}; label='KB'}}
それは何の効果もありません:
PS> ls | format-table Name, @{expression={$_.Length / 1024}; label='KB'}
... Produces the formatted output
PS> ls | kilobytes
... Produces output with unchanged formatting, the same as 'ls'
編集:私は混乱していたようです。実験するとき、私はすでに にエイリアスされたエイリアスkilobytes
を作成していましたFormat-Table
。これは忘れていましたが、関数の作成はkilobytes
警告なしで成功しましたが、その後の呼び出しkilobytes
は新しく作成された関数ではなく、既存のエイリアスを呼び出していたことを意味していました。