2017-09-04 40 views
0

我能從0123SPowerShell命令行中創建一個自定義變量,但預定義的變量不能以相同的方式工作。如何從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

+7

'$ PSScriptRoot'是爲文件中的腳本定義的。您沒有運行基於文件的腳本,因此$ PSScriptRoot是空的。如果你想要當前目錄,使用'pwd'或'[Environment] :: CurrentDirectory''(取決於你想要的是PowerShell的意見還是操作系統的意見)。 –

+0

@JeroenMostert您能否提供一個兩個例子? –

+0

'寫主機(拆分路徑(pwd) - 父母)'?或者先設置一個變量:'$ path = pwd'。這是使用cmdlet的輸出作爲另一個cmdlet的輸入的基本情況。 –

回答

0

如果當前位置是你想要的,這一直對我有用。

(Get-Location).path 

如果你還想知道其他預定義變量,寫主機應該工作。

Get-Variable或者只是Variable將顯示所有預定義的變量。如果你看看$PSScriptroot,你會意識到它是空的。這就是爲什麼它似乎不適合你。

相關問題