3

我正在为工作中的应用程序制作一个 powershell 安装脚本,并且我不断地从 PowerShell ISE 切换到 PowerGUI 来制作它。

我发现它们之间的差异我真的无法解释,我想得到一些建议。

对于相同的以下代码:

$test = ""
$feedback = $FALSE
try
{
    $test = [System.Environment]::GetFolderPath([Environment+SpecialFolder]::ProgramFilesX86)
}
catch
{
    $test = ""
}
if($test -eq "")
{
    $feedback = $TRUE
}
else
{
    $feedback = $FALSE
}
"Feedback : " + $feedback
"Result : " + $test

Powershell ISE 返回:

Feedback : True
Result : 

PowerGUI 返回:

Feedback : False
Result : C:\Program Files (x86)

当然,C:\Program Files (x86) 是一个现有文件夹。

我很想知道为什么。谢谢。

4

1 回答 1

2

您的环境没有播放相同版本的 PowerShell,或者至少是相同版本的 CLR。试试看$PSVersionTable

Environment.SpecialFolder 枚举包含ProgramFilesX86在 NET Framework 4.5 中,但在 NET Framework 3.5 和以前的版本中不是这种情况。

于 2013-06-05T11:43:40.357 回答