|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как проверить разрядность операционной системы? |
|
CMD/BAT - [решено] Как проверить разрядность операционной системы?
|
Пользователь Сообщения: 99 |
Как проверить разрядность операционной системы?
У виндоуз 7 есть 2 версии: 64-х разрядная и 32-х разрядная. Для 64-х разрядной нужно, чтобы выполнялись дополнительные программы. Как это сделать в коммандом файле? |
|
Отправлено: 22:50, 08-04-2010 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать И охота же некропостерствовать...
Начнем с начала: поддержка win7 закончилась еще в январе 2020, посему сначала рекомендация: избавляйтесь от них. И чем быстрее тем лучшее. Цитата Wu-Tang:
Далле, судя по тому что нужно, достаточно проверить наличие/значение переменной %ProgramFiles(x86)%. Если есть - суем вариант для x64, нету - x86. винды опять нет под рукой, поэтому не проверял как оно проверяет. И еще, проще и надежнее добавлять ключи через те же групповые политики, это позволит и точнее прицелится в нужную разрядность, и позволит избежать подобных проверок на непонятно зачем. |
|
Отправлено: 16:40, 05-05-2021 | #91 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1316
|
Профиль | Отправить PM | Цитировать Elven,
Мне нравится 7-ка, я на хп сидел пока стало невыносимо ))) мне батником нужно добавить. @echo off if defined %ProgramFiles(x86)% ( echo reg add "HKCR\*\shell\notepad" /v "" /t REG_SZ /d "ЋвЄалвм ў Ѓ«®Є*®вҐ" /f reg add "HKCR\*\shell\notepad" /v "icon" /t REG_SZ /d "%ProgramFiles(x86)%\Notepad++\notepad++.exe,0" /f reg add "HKCR\*\shell\notepad\command" /v "" /t REG_SZ /d "\"%ProgramFiles(x86)%\Notepad++\notepad++.exe\" \"%%1\"" /f ) else ( echo reg add "HKCR\*\shell\notepad" /v "" /t REG_SZ /d "ЋвЄалвм ў Ѓ«®Є*®вҐ" /f reg add "HKCR\*\shell\notepad" /v "icon" /t REG_SZ /d "%ProgramFiles%\Notepad++\notepad++.exe,0" /f reg add "HKCR\*\shell\notepad\command" /v "" /t REG_SZ /d "\"%ProgramFiles%\Notepad++\notepad++.exe\" \"%%1\"" /f ) |
------- Отправлено: 17:15, 05-05-2021 | #92 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Нужно смотреть, что в переменных. Емнип в win7 была какая-то муть относительно того, какой процесс запущен (т.е. в зависимости от разрядности процесса переменная может поменять значение), т.о. из батника нужно вывести значение переменных ProgramFiles, ProgramFiles(x86), ProgramW6432 и посмотреть какая из них что возвращает. Что-то мне кажется, что для запуска из cmd ProgramFiles вернет значение "C:\Program Files (x86)", но это не точно.
Собственно, совать в reg add переменные я и не требовал, вполне бы нормально сработали и изначально указанные пути. |
Отправлено: 17:53, 05-05-2021 | #93 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Elven:
Цитата Elven:
Скрытый текст
![]() Wu-Tang, тут ещё зависит, какой разрядности запускается сам reg.exe — на него ведь точно так же действуют перенаправления файловой системы и реестра. |
||
Отправлено: 18:26, 05-05-2021 | #94 |
Ветеран Сообщения: 1316
|
Профиль | Отправить PM | Цитировать Elven,
так какой есть выход? Iska, я так понимаю в 32битной запускается 32битный, а вот в 64битной хз, либо тот, либо другой. есть какое-н решение в этой задаче? сейчас у меня есть специально две виртуалки х86 и х64, тестирую параллельно внося правки, но либо там не отрабатывает, либо там. |
------- Отправлено: 07:37, 06-05-2021 | #95 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
Отправлено: 08:03, 06-05-2021 | #96 |
Ветеран Сообщения: 1316
|
Профиль | Отправить PM | Цитировать Iska,
ну как ни так, я привел скрипт, который запускаю, сказали все правильно. x86 - https://dropmefiles.com/1bUOi x64 - https://dropmefiles.com/fM9ES в х86 обрезает путь после добавления в реестр. |
------- Последний раз редактировалось Wu-Tang, 06-05-2021 в 09:16. Отправлено: 09:10, 06-05-2021 | #97 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Два варианта:
1. вбить пути без переменных (рили, они здесь нужны как собаке пятый хвост); 2. добавить вывод переменных %ProgramFiles(x86)% и %ProgramFiles% с паузой в конец скрипта, меня терзают смутные сомнения, что под x86 она либо пустая либо еще что-то с ней не так. Или без паузы, но выводить в файл echo "ProgramFiles(x86): %ProgramFiles(x86)%" > vars.txt echo "ProgramFiles: %ProgramFiles%" >> vars.txt Есть еще некоторый шанс на то, что в переменной указанной в срипте каким-то боком попал лишний символ или символ внешне похожий на нужный, соответственно пытается подставиться не %ProgramFiles%, а, например, %ProgramFiIes%, которая, естественно, не объявлена. |
Отправлено: 13:38, 06-05-2021 | #98 |
Ветеран Сообщения: 1316
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:43, 06-05-2021 | #99 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Добрался до возможности посмотреть что там было по ссылкам нормально. Wu-Tang, вы указываете в посте один код, а запускаете другой. Причем это на момент записи видео, как я понимаю, а теперь там вообще какой-то третий если не пятый может быть.
Если используется код который был на видео - убрать оттуда к лешему set он там не используется, только захламляет код. В двух местах убрать! к сожалению cmd под рукой так и нету, посему проверить не получится, но кмк reg add в первых скобках не выполнялся никогда, в то время как во вторых (в тех которые после else) наоборот - каждый раз, в не зависимости от разрядности системы. |
Отправлено: 16:57, 06-05-2021 | #100 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - [решено] Как убрать меню выбора операционной системы? | trimo | Microsoft Windows 2000/XP | 84 | 26-01-2010 21:57 | |
Вопрос - Как можно проверить был взлом системы или просто зашли под другим пользователем? | ИС_ | Защита компьютерных систем | 0 | 24-09-2009 16:52 | |
как узнать разрядность системы | DIMON171 | Хочу все знать | 20 | 28-06-2008 19:57 | |
Как убрать меню выбора операционной системы | Guest | Microsoft Windows 95/98/Me (архив) | 1 | 10-09-2004 14:11 | |
Разрядность операционной системы | ankerok | Хочу все знать | 7 | 09-01-2003 16:45 |
|