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)。