フラグを設定し、スクリプト全体でデータが入っていくのを確認して、PowerShellスクリプトで変数と値を出力したいと思います。
どうすればいいですか?
たとえば、次のPHPコードに相当するPowerShellは何でしょうか。
echo "filesizecounter: " . $filesizecounter
フラグを設定し、スクリプト全体でデータが入っていくのを確認して、PowerShellスクリプトで変数と値を出力したいと思います。
どうすればいいですか?
たとえば、次のPHPコードに相当するPowerShellは何でしょうか。
echo "filesizecounter: " . $filesizecounter
回答:
いくつかの方法があります。
Write-Host
:関数/コマンドレットの出力には含まれず、コンソールに直接書き込みます。前景色と背景色を設定できます。
Write-Debug
:$DebugPreference
続行または停止に設定されている場合は、コンソールに直接書き込みます。
Write-Verbose
:$VerbosePreference
続行または停止に設定されている場合は、コンソールに直接書き込みます。
後者はWrite-Debug
、デバッグのための追加のオプション情報を目的としています(そのため、この場合に適しているようです)。
追加:PSH2では、(少なくとも)コマンドレットバインディングを使用するスクリプトは、-Verbose
と-Debug
スイッチパラメーターを自動的に取得し、コンパイルされたコマンドレットとプロバイダーが行うように、ローカルで有効Write-Verbose
化Write-Debug
(つまり、設定変数をオーバーライド)します。
Powershellには、echoをWrite-Output
にマッピングするエイリアスがあるため、次のようになります。
echo "filesizecounter : $filesizecounter"
PowerShellは補間しますか?
PHPで
echo "filesizecounter: " . $filesizecounter
次のように書くこともできます:
echo "filesizecounter: $filesizecounter"
PowerShellでは、次のようなものがニーズに合うはずです。
Write-Host "filesizecounter: $filesizecounter"
echoはWrite-Outputのエイリアスですが、Write-Hostと同じように見えますです。
PowerShellのechoとWrite-Hostの違いは何ですか?。
echoは、Success出力ストリームに書き込むWrite-Outputのエイリアスです。これにより、出力をパイプラインで処理したり、ファイルにリダイレクトしたりできます。Write-Hostはコンソールに直接書き込むため、出力をリダイレクト/処理することはできません。
PowerShellには、などのいくつかの一般的なコマンドのエイリアスがありますecho
。PowerShellで次のように入力します。
Get-Alias echo
応答を取得するには:
CommandType Name Version Source
----------- ---- ------- ------
Alias echo -> Write-Output
Get-Aliasにもエイリアスがありgal -> Get-Alias
ます。gal echo
のエイリアスを取得するように書くことができますecho
。
gal echo
その他のエイリアスは次のとおりです。https: //docs.microsoft.com/en-us/powershell/scripting/learn/using-familiar-command-names?view = powershell-6
cat dir mount rm cd echo move rmdir chdir erase popd sleep clear h ps sort cls history pushd tee copy kill pwd type del lp r write diff ls ren
Set-PSDebugが古い学校のecho on
バッチコマンドに似ていることにも言及する必要があります。
Set-PSDebug -Trace 1
このコマンドを実行すると、実行中のスクリプトのすべての行が表示されます。
ときに
Trace
パラメータが1の値を有し、それが実行されるように、スクリプトの各ラインはトレースされます。パラメーターの値が2の場合、変数の割り当て、関数呼び出し、およびスクリプト呼び出しもトレースされます。Stepパラメーターが指定されている場合、スクリプトの各行が実行される前にプロンプトが表示されます。