这种语言真的很奇怪。我正在尝试执行一个函数并将其结果值用作条件。这是我的代码:
function Get-Platform()
{
# Determine current Windows architecture (32/64 bit)
if ([System.Environment]::GetEnvironmentVariable("ProgramFiles(x86)") -ne $null)
{
echo "x64"
return "x64"
}
else
{
echo "x86"
return "x86"
}
}
if (Get-Platform -eq "x64")
{
echo "64 bit platform"
}
if (Get-Platform -eq "x86")
{
echo "32 bit platform"
}
预期的输出是这样的:
x64
64 bit platform
但实际输出是这样的:
64 bit platform
32 bit platform
这里发生了什么?如何解决这个问题?我在网络上找不到任何在if
条件内使用函数的示例。这在 Powershell 中是否可行?我在没有特殊设置的 Windows 7 上,所以我有任何 PS 版本。