2012-06-01 72 views
1

我正在使用CSV文件和Import-Csv來獲取一堆自定義別名和路徑。我這樣做,以便我可以做RUN,路徑將通過Invoke-Item執行。如何重新評估從文件中獲取的PowerShell變量

我可以在命令shell窗口中使用以下命令打開配置文件ps1:Invoke-Item $ PROFILE - 然後在記事本中啓動配置文件ps1。

但我想用我的運行功能。所以我在CSV中指定了別名「profile」以及路徑爲「$ PROFILE」,然後應該調用「Invoke-Item $ profile」 - 除了通過CSV使用它時,$ profile仍然是一個文本,並且不是得到評估。

有沒有辦法重新評估字符串中的變量?

回答

0

您可以用Invoke-Expression小命令(或它的別名「IEX」)評價它:

Invoke-Item (iex "$profile") 
+0

尼斯之一 - 我有一個後續問題,但。在一種情況下,我需要調用一個$ profile變量 - IEX爲我解決了這個問題,以便我可以評估$ profile。現在我需要運行程序的其他情況 - 所以我提供了一個路徑。現在我添加了iex - 如果路徑包含空格,路徑會失敗,您知道爲什麼嗎? 「術語'C:\ Program'不被識別爲cmdlet,函數,腳本文件的名稱」 –

+0

嘗試將該路徑放在另一組引號中。 –