![]() |
Определение разрядности OS, если 32, выполнять 32.exe, если 62, то выполнить 64.exe
Доброго времени суток,
Подскажите по скрипту, нужно добавить скрипт в программу, т.е запускаю программу она определяет что Винда 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 Папка не была выбрана. ) |
Код:
>nul 2>&1 set ProgramFiles(x86)&&set xOS=x64||set xOS=x86 |
Хмм… Интересный способ.
|
Странно, запустил скрипт показывает х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, содержимое Вашего сообщения недоступно ни напрямую, ни через прокси.
|
Iska, прошу прощения, запускал через cmd файл.
Система х64, а при запуске Скрытый текст
nul 2>&1 set ProgramFiles(x86)&&set xOS=x64||set xOS=x86
echo %xOS% |
|
Цитата:
Вот пакетный файл, запущенный из-под x64-версии интерпретатора команд (%SystemRoot%\System32\cmd.exe): Скрытый текст
![]() Вот пакетный файл, запущенный из-под x86-версии интерпретатора команд (%SystemRoot%\SysWOW64\cmd.exe): Скрытый текст
![]() |
Цитата:
|
Цитата:
Скрытый текст
![]() Скрытый текст
![]() |
|
А что там? Я его не вижу.
|
Цитата:
![]() |
YuS_2, спасибо, ясно. RGhost по нашей местности тож заблокирован доблестным РосКомНадзором, но Ваш скриншот я хотя бы через штатовский прокси увидел.
Вот у меня на Windows 7 SP1 x64 сначала идёт вышеуказанное предупреждение в GUI, и токмо затем вышеуказанный отлуп в CUI. Ну, и, само собой, показанное на скриншотах, Вашем и, возможно, коллеги O L E G, совсем не означает того, что он написал выше: Цитата:
Цитата:
Надеюсь, теперь все разобрались :). |
O L E G, а чем вас не устраивает 32-разрядный hobocopy в 64-разрядной среде?
Цитата:
и в целом для вашего велосипеда с квадратными колёсами hobocopy не нужен и даже скорее противопоказан: vss придуман для получения консистентных данных, а не чтобы по-отдельности файлики вычитывать. И это делается штатными средствами, без сторонних костылей. Рано вам ещё для других людей бэкапилки писать. |
Цитата:
Код:
if /I "%Processor_Architecture%"=="x86" ( |
Время: 19:49. |
Время: 19:49.
© OSzone.net 2001-