|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение разрядности OS, если 32, выполнять 32.exe, если 62, то выполнить 64.exe |
|
|
CMD/BAT - [решено] Определение разрядности OS, если 32, выполнять 32.exe, если 62, то выполнить 64.exe
|
Старожил Сообщения: 284 |
Профиль | Отправить PM | Цитировать Доброго времени суток,
Подскажите по скрипту, нужно добавить скрипт в программу, т.е запускаю программу она определяет что Винда 64x и выполняет файл 64 разрядности, если 32х то 32 битный. Так как буду использовать 2ва файла, один 64 другой 32, hobocopy32.exe - hobocopy64.exe Спасибо огромное, не хватает этого только момента. Сам код Скрытый текст
@echo off setlocal for /f "tokens=2 delims=:" %%i in ('chcp') do ( set sPrevCP=%%i chcp 1251 >nul ) for /f "usebackq delims=" %%i in ( `@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT DISK',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^ 1^|more` ) do set sFolderName=%%i chcp %sPrevCP% >nul if defined sFolderName ( echo Выбрана папка: %sFolderName% msg * Save to Reserve %sFolderName%a1_Backup :: Восстановление службы vss regedit /s vss.reg TIMEOUT 2 :: Запуск Службы Теневого Копирования\Восстановление на Деф. настройки net start VSS TIMEOUT 2 :: Создаем папки mkdir %sFolderName%a1_Backup\BCD\%date%\ mkdir %sFolderName%a1_Backup\CONFIG\%date%\ mkdir %sFolderName%a1_Backup\NTUSER\%date%\ :: сохраняем параметры загрузки (ms - dos \ кириллица dos) bcdedit.exe /v > %sFolderName%a1_Backup\BCD\%date%\bootconf.rtf > %sFolderName%a1_Backup\BCD\%date%\BCD_%date%.cfg :: резервная копия загрузчика bcdedit.exe /export %sFolderName%a1_Backup\BCD\%date%\BCDfile :: echo the path to the file %systemdrive%\bootmgr > %sFolderName%a1_Backup\BCD\%date%\bootmgr.log hobocopy /y %systemdrive%\ %sFolderName%a1_Backup\BCD\%date%\ bootmgr >> %sFolderName%a1_Backup\BCD\%date%\bootmgr.log echo the path to the file %windir%\System32\drivers\etc\hosts > %sFolderName%a1_Backup\CONFIG\%date%\hosts.log hobocopy /y %windir%\System32\drivers\etc\ %sFolderName%a1_Backup\CONFIG\%date%\ hosts >> %sFolderName%a1_Backup\CONFIG\%date%\hosts.log :: echo ###################################################### > %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SAM >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ DEFAULT >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ SECURITY >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ software >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ system >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ COMPONENTS >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo ###################################################### >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %windir%\system32\config\netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log hobocopy /y %windir%\system32\config\ %sFolderName%a1_Backup\CONFIG\%date%\ netlogon.ftl >> %sFolderName%a1_Backup\CONFIG\%date%\config.log echo the path to the file %userprofile%\NTUSER.DAT > %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log hobocopy /y %userprofile%\ %sFolderName%a1_Backup\NTUSER\%date%\ NTUSER.DAT >> %sFolderName%a1_Backup\NTUSER\%date%\NTUSER.log TIMEOUT 1 attrib +r +h %sFolderName%a1_Backup msg * Completed!!! Reserved to %sFolderName%a1_Backup\ TIMEOUT 1 start %sFolderName%a1_Backup\ ) else ( echo Папка не была выбрана. ) |
|
------- Отправлено: 13:16, 29-12-2018 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:54, 29-12-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Хмм… Интересный способ.
|
Отправлено: 16:30, 29-12-2018 | #3 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Странно, запустил скрипт показывает х86, а у меня х64
Нашел чуть другой вариант, рабочий из темы http://forum.oszone.net Скрытый текст
Set xOS=x86& If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 Echo OS - %xOS% :: @Echo Off :: Варианит 1 Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 Echo %xOS% Pause :: =================================================================================== :: Варианит 2 Set xOS=x86 If Defined PROCESSOR_ARCHITEW6432 (Set xOS=x64) Else If "%PROCESSOR_ARCHITECTURE%"=="AMD64" Set xOS=x64 Echo %xOS% Pause :: =================================================================================== :: Запуск приложений в зависимости от разрядности из разных папок с именами x64 и x86 Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 "c:\My Test\%xOS%\install.exe" /S :: =================================================================================== :: Запуск приложений в зависимости от разрядности из одной папки с именами сожержащими суффикс x64 и x86 (install_x64.exe и install_x86.exe) Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 "c:\My Test\install_%xOS%.exe" /S :: =================================================================================== :: Запуск приложений в зависимости от разрядности из разных папок, с разными именами и/или ключами Set xOS=x64 If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86 If %xOS%==x86 ("c:\My Test\i86\install.exe" /S) Else ("c:\My Test\AMD64\setup.msi" /qn) |
------- Последний раз редактировалось O L E G, 29-12-2018 в 22:25. Отправлено: 22:17, 29-12-2018 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата O L E G:
|
||
Отправлено: 22:26, 29-12-2018 | #5 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 22:32, 29-12-2018 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать O L E G, содержимое Вашего сообщения недоступно ни напрямую, ни через прокси.
|
Отправлено: 23:22, 29-12-2018 | #7 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Iska, прошу прощения, запускал через cmd файл.
Система х64, а при запуске Скрытый текст
nul 2>&1 set ProgramFiles(x86)&&set xOS=x64||set xOS=x86
echo %xOS% |
------- Отправлено: 17:30, 30-12-2018 | #8 |
Crazy Сообщения: 1171
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 17:40, 30-12-2018 | #9 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата O L E G:
Вот пакетный файл, запущенный из-под x64-версии интерпретатора команд (%SystemRoot%\System32\cmd.exe): Скрытый текст
Вот пакетный файл, запущенный из-под x86-версии интерпретатора команд (%SystemRoot%\SysWOW64\cmd.exe): Скрытый текст
|
|
Отправлено: 17:48, 30-12-2018 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - [решено] Не запускаются 32-битные *.exe на 64-битной Windows 7 Максимальная | Koss666 | Microsoft Windows 7 | 51 | 22-09-2015 18:18 | |
Разное - Востановление поврежденной WinXP 32, если рядом уже установленна Win7 64 | erikra | Microsoft Windows 2000/XP | 14 | 16-12-2013 10:52 | |
Установка - что делать если при переустановке Windows 7 с 64-bit ого на 32-bit | Гебриэл | Microsoft Windows 7 | 13 | 11-07-2013 21:57 | |
лечение системы wwwznv32.exe и monoco...32.exe | gikon | Лечение систем от вредоносных программ | 6 | 29-07-2010 19:03 | |
Плюсы и минусы разрядности систем 32-х и\или 64-х | RasKolbas | Хочу все знать | 7 | 20-04-2010 07:19 |
|