この言語では何かが本当に奇妙です。関数を実行し、その結果値を条件として使用しようとしています。これは私のコードです:
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 バージョンは何でも持っています。