为什么$ PSScriptRoot自己引用?

时间:2018-07-12 17:43:35

标签: powershell powershell-v3.0

我在PowerShell ISE中,$roster = Import-Csv '$PSScriptRoot\Company Roster.csv'返回错误

Import-Csv : Could not find a part of the path 'C:\Users\\Desktop\Change\
$PSScriptRoot\Company Roster.csv'.
At C:\Users\\Desktop\Change\Form.ps1:30 char:15
+     $roster = Import-Csv '$PSScriptRoot\Company Roster.csv'

为什么$PSScriptRoot的引用中似乎包含其自己的变量名?

1 个答案:

答案 0 :(得分:3)

否,变量不包含自身。您只需将其放在单引号中,以防止变量扩展,因此您的脚本正在当前工作目录中查找具有 literal 名称$PSScriptRoot\Company Roster.csv的文件。

将单引号更改为双引号,问题将消失。

$roster = Import-Csv "$PSScriptRoot\Company Roster.csv"