34

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?

4

4 に答える 4

54

これによる、環境変数%PROGRAMFILES(x86)%は 64 ビット システムでのみ使用できます。

ただし、64 ビット システムで を使用する場合%PROGRAMFILES%、得られる結果は、環境変数を要求するプロセスが 32 ビットか 64 ビットかによって異なります。

したがって、64 ビット システム上の 64 ビット プロセスからは が得られC:\Program Files、64 ビット システムC:\Program Files (x86)上の 32 ビット プロセスからは が得られ、32 ビット システム上の 32 ビット プロセスからは が得られC:\Program Filesます。

これで解決しない場合は、元の質問をコメントまたは編集して、何をしようとしているのかを具体的にすることができます。現在のところ、あなたの質問に対する答えは「いいえ」です。

于 2013-07-17T05:05:23.953 に答える
3

キース・ヒルはこの質問に答えましたここ、要約:

${env:ProgramFiles(x86)}は 32 ビット マシンでは定義されていません

常に x86 ディレクトリとの間でデータを送受信したい場合は、次のコードを使用してファイル パスを決定できます。

$file = "\file"
if ("${Env:ProgramFiles(x86)}")
{
    $fullPath = "${Env:ProgramFiles(x86)}\$file"
}
else
{
    $fullPath = "${Env:ProgramFiles}\$file"
}
于 2015-08-03T17:13:07.510 に答える
-15

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

于 2015-02-22T15:29:47.343 に答える