Что происходит, когда я использую переменную окружения %PROGRAMFILES(x86)%
в ОС Windows, 32-разрядную (например, более старые версии Windows, такие как Windows XP, Vista)?
Я надеюсь, что он просто решит: C:/Program Files
. Это произойдет?
Что происходит, когда я использую переменную окружения %PROGRAMFILES(x86)%
в ОС Windows, 32-разрядную (например, более старые версии Windows, такие как Windows XP, Vista)?
Я надеюсь, что он просто решит: C:/Program Files
. Это произойдет?
В соответствии с для этого переменная среды %PROGRAMFILES(x86)%
доступна только в 64-разрядных системах.
Однако, если вы используете 64-разрядную систему и используете %PROGRAMFILES%
, результат, полученный вами, зависит от того, является ли процесс, запрашивающий переменную среды, 32-разрядной или 64-разрядной.
Итак, из 64-битного процесса в 64-битной системе вы получите C:\Program Files
, из 32-разрядного процесса в 64-битной системе вы получите C:\Program Files (x86)
, а из 32-битного процесса на 32-битную систему вы получили бы C:\Program Files
.
Если это не помогает, возможно, вы можете прокомментировать или отредактировать исходный вопрос, чтобы сделать его конкретным, что вы пытаетесь сделать. Как и в настоящее время, ответ на ваш вопрос "Нет".
Keith Hill ответил на этот вопрос здесь, резюме:
${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
.
Если у вас установлена 64-разрядная программа на 32-разрядном компьютере/ноутбуке, она будет установлена в новой папке с именем Program Files (x64)
, которая находится на диске "C". В этом случае вы должны использовать %programfiles(x64)
.
Если у вас установлена 32-разрядная программа на 64-разрядном компьютере/ноутбуке, она будет установлена в новой папке с именем Program Files (x86)
, которая находится на диске "C". В этом случае вы должны использовать %programfiles(x86)
.