What happens when I use the environment variable %PROGRAMFILES(x86)%
on a Windows OS that is 32bit (ie, older versions of Windows such as Windows XP, Vista)?
I am hoping that it will simply resolve to: C:/Program Files
. Will this occur?
What happens when I use the environment variable %PROGRAMFILES(x86)%
on a Windows OS that is 32bit (ie, older versions of Windows such as Windows XP, Vista)?
I am hoping that it will simply resolve to: C:/Program Files
. Will this occur?
これによると、環境変数%PROGRAMFILES(x86)%
は 64 ビット システムでのみ使用できます。
ただし、64 ビット システムで を使用する場合%PROGRAMFILES%
、得られる結果は、環境変数を要求するプロセスが 32 ビットか 64 ビットかによって異なります。
したがって、64 ビット システム上の 64 ビット プロセスからは が得られC:\Program Files
、64 ビット システムC:\Program Files (x86)
上の 32 ビット プロセスからは が得られ、32 ビット システム上の 32 ビット プロセスからは が得られC:\Program Files
ます。
これで解決しない場合は、元の質問をコメントまたは編集して、何をしようとしているのかを具体的にすることができます。現在のところ、あなたの質問に対する答えは「いいえ」です。
${env:ProgramFiles(x86)}
は 32 ビット マシンでは定義されていません
常に x86 ディレクトリとの間でデータを送受信したい場合は、次のコードを使用してファイル パスを決定できます。
$file = "\file"
if ("${Env:ProgramFiles(x86)}")
{
$fullPath = "${Env:ProgramFiles(x86)}\$file"
}
else
{
$fullPath = "${Env:ProgramFiles}\$file"
}
%programfiles%
32ビットのコンピューター/ラップトップで使用すると、開きC:\Program Files
ます。
%programfiles%
64ビットのコンピューター/ラップトップで使用すると、開きC:\Program Files
ます。
32 ビット コンピューター/ラップトップに 64 ビット プログラムがインストールされている場合Program Files (x64)
、「C」ドライブにある という名前の新しいフォルダーにインストールされます。その場合、使用する必要があります%programfiles(x64)
。
32 ビット プログラムが 64 ビット コンピューター/ラップトップにインストールされている場合Program Files (x86)
、「C」ドライブにある という名前の新しいフォルダーにインストールされます。その場合、使用する必要があります%programfiles(x86)
。