0
Write-Host
私はPowerShellコマンドラインのカスタム変数を使用できますが、定義済みの変数は同じ方法では動作しません。PowerShellのコマンドラインからあらかじめ定義された変数をエコーする方法は?
定義済みの変数をエコーする適切な方法は何ですか。
Write-Host $path
が動作します。
Write-Host $PSScriptRoot
はありません。
ここに私のコードです。
powershell.exe -ExecutionPolicy ByPass -Command "& { $path = """test"""; Write-Host $path; Write-Host $PSScriptRoot; }"
私は、変数として現在のスクリプトの親ディレクトリを持っていると思います。
このようなものは$RootPath = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent
です。
ファイル内のスクリプトに対して '$ PSScriptRoot'が定義されています。あなたはファイルベースのスクリプトを実行していないので、 '$ PSScriptRoot'は空です。現在のディレクトリが必要な場合は、(PowerShellの意見、またはオペレーティングシステムの意見に応じて) 'pwd'または' [Environment] :: CurrentDirectory'を使います。 –
@ JeroenMostert両方の例を挙げてください。 –
'Write-Host(分割パス(pwd) - 親)'?または変数を最初に設定してください: '$ path = pwd'。これは、コマンドレットの出力を別のコマンドレットの入力として使用する基本的なケースです。 –