2016-05-05 6 views
2

私はこれがちょっとばかげていることを知っていますが、PowerShellのClear-Hostコマンドレットで終了するカスタムプロファイルをセットアップしました。以前のコマンドレットの出力が画面上で点滅するのは嫌です。私はそれが動作しているようだ

New-Alias -Name note -Value notpad.exe > $null 

:例えば、出力を抑制するための試みでnullに出力を送信することを決めたが、私は、コマンドがやっていることに関して、完全に一定ではありませんよ。これは大丈夫ですか?

答えて

4

> is a redirection operator。これは、コンピューティング環境、UNIX(> /dev/null)、およびWindows(> NUL)で一般的です。多くの場合、ファイルやデバイスに書き込むために使用されます。この場合、あなたはどこにも送っていません。 PowerShellでこれを行うには

その他の方法:

Get-Something | Out-Null 
[void](Get-Something) 
$null = Get-Something 

Also here's a performance comparison between the methods

+1

あなたがリンクした答えで使用された小さなサンプルセットは、 '$ null'割り当てと' void'キャストがリダイレクションより高速であるという事実を難読化します。 100万回以上の繰り返しで[この1つ](https://gist.githubusercontent.com/IISResetMe/610deb873a96f331039d/raw/1175e21dcc410e4acbd41789c87ea7cf1e7ee666/Test-NullPerformance.ps1)を試してみてください –

2

> $nullをパイプライン(または単一の式)の末尾に追加すると、デフォルトの出力になる結果がすべてスローされます。

過剰出力を取り除く(または関数内にある場合はデータを返す)方法の1つです(いくつかのうちの1つ)。

New-Aliasの場合、通常、新しいエイリアスを表す結果が返されますが、出力が途中で取得されることがあります。

関連する問題