как получить программные файлы переменной x86 env? - PullRequest
101 голосов
/ 07 марта 2012

Я хотел бы знать, как я могу отобразить расположение программных файлов (x86) в командной строке.Я использую Windows 7 64bit.

Я пробовал:

echo %programfiles(x86)% и echo %programfiles%,
, которые отображают только C:\Program Files

Когда я проверял реестр вручную,
HKLM / Программное обеспечение / Microsoft / Windows / Currentversion ,
programfilesdir указывает на C:\Program Files и

HKLM / Программное обеспечение / WOW64 / Microsoft / winodws /currentversion ,
programfilesdir указывает на C:\Program Files (x86).

Но почему я всегда отображаюсь с C: \ Program Files ??

Ответы [ 4 ]

165 голосов
/ 08 марта 2012

На 64-битной машине, работающей в 64-битном режиме:

  • echo %programfiles% ==> C:\Program Files
  • echo %programfiles(x86)% ==> C:\Program Files (x86)

На 64-битной машине, работающей в 32-битном (WOW64) режиме:

  • echo %programfiles% ==> C:\Program Files (x86)
  • echo %programfiles(x86)% ==> C:\Program Files (x86)

На 32-битном компьютере, работающем в 32-битном режиме:

  • echo %programfiles% ==> C:\Program Files
  • echo %programfiles(x86)% ==> %programfiles(x86)%
30 голосов
/ 31 декабря 2014

Другая релевантная переменная среды:

% ProgramW6432%

Итак, на 64-битном компьютере, работающем в 32-битном (WOW64) режиме:

  • echo% programfiles% ==> C: \ Program Files (x86)
  • echo% programfiles (x86)% ==> C: \ Program Files (x86)
  • эхо% ProgramW6432% ==> C: \ Program Files

Из Википедия :

Переменная% ProgramFiles% указывает на каталог Program Files, в котором хранятся все установленные программы Windows и другие.По умолчанию в англоязычных системах используется «C: \ Program Files».В 64-разрядных выпусках Windows (XP, 2003, Vista) также есть% ProgramFiles (x86)%, который по умолчанию равен «C: \ Program Files (x86)», и% ProgramW6432%, который по умолчанию равен «C:\Программные файлы".Сам% ProgramFiles% зависит от того, является ли процесс, запрашивающий переменную среды, самим 32-разрядным или 64-разрядным (это вызвано 64-разрядным перенаправлением Windows-on-Windows).

Ссылка:http://en.wikipedia.org/wiki/Environment_variable

3 голосов
/ 07 марта 2012

На 64-битной машине Windows echo% programfiles (x86)% печатает C: \ Program Files (x86)

0 голосов
/ 19 апреля 2015

Я пробовал несколько вариантов этого, которые я нашел в Интернете, и ни один из них не будет работать.Я пытался исправить проблему с Reg с Subtitle Creator.

После некоторых проб и ошибок, вот тот, который работал для меня в Windows 7 64-bit.

  1. В WindowsВ меню Пуск введите CMD в поле поиска.
  2. Щелкните правой кнопкой мыши файл cmd.exe и выберите «Запуск от имени администратора».
  3. При появлении запроса введите пароль администратора.
  4. Сейчасиспользуйте эту команду:% systemroot% \ SysWoW64 \ regsvr32 "C: \ Program Files (x86) \ SubtitleCreator \ SCSubtitleFilter.ax"

Если вы исправляете другую DLL, вам потребуетсяиспользуйте полный путь для вашей DLL внутри кавычек.

...