![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Определение системы с условием |
|
CMD/BAT - [решено] Определение системы с условием
|
Новый участник Сообщения: 11 |
Доброе утро. Помогите горю горевать
Пытаюсь создать bat файл ( который будет хранится в сетевой папке ) с определённым, но простым назначением 1) Требуется что бы bat файл запускался с повышенными правами (c запросом UAC) или с запросом на повышения прав но с этим относительно понятно . 2) Дальше определялась бы система по нескольким условиям: если это Windows XP - применить все reg файлы и bat файлы в папке с батником с директории WindowsXP Windows 7 и выше (8/10/11 включительно) - применить все reg файлы и bat файлы в папке с батником с директории Windows7+ Windows 8/8.1 - применить все reg файлы и bat файлы в папке с батником с директории Windows8+ Windows 10 - применить все reg файлы и bat файлы в папке с батником с директории Windows10 Windows 11 - применить все reg файлы и bat файлы в папке с батником с директории Windows11 определить разрядность системы (x64/x86 )( всё выше windows XP) - применить все reg файлы и bat файлы в папке с батником с директории x64 разрядность системы (x86) - применить все reg файлы и bat файлы в папке с батником с директории x86 Вроде всё просто 1) решение или bat конвертировать в exe и добавлять манифест или я читала о способе добавить в bat asInvoker 2) второй пункт у меня получается очень большим Может кто сможет подсказать элегантное и простое решение. |
|
Отправлено: 11:26, 03-09-2022 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Примерно у меня вот так вышло
![]() @echo off SETLOCAL set __COMPAT_LAYER=RunAsHighest set curr_OS= Set xOS=x64& If "%PROCESSOR_ARCHITECTURE%"=="x86" ( If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86) REM ver | findstr /i "5\.1\." && (set curr_OS=WindowsXP& GOTO :NOTTESTEDWIN) ver | findstr /i "6\.1\." > nul && (set curr_OS=Windows7+& GOTO :TESTEDWIN & GOTO :TESTEDOSX) ver | findstr /i "6\.2\." > nul && (set curr_OS=Windows8+& GOTO :NOTTESTEDWIN & GOTO :TESTEDWIN& GOTO :TESTEDOSX) ver | findstr /i "6\.3\." > nul && (set curr_OS=Windows8+& GOTO :NOTTESTEDWIN & GOTO :TESTEDWIN& GOTO :TESTEDOSX) ver | findstr /i "10\.0\." > nul && (set curr_OS=Windows10& GOTO :NOTTESTEDWIN & GOTO :TESTEDWIN& GOTO :TESTEDOSX) ver | findstr /i "11\.0\." > nul && (set curr_OS=Windows11& GOTO :NOTTESTEDWIN & GOTO :TESTEDWIN& GOTO :TESTEDOSX) echo xOS :NOTTESTEDWIN for %%k in (%~dp0%curr_OS%\*.reg) do regedit.exe /s "%%~k" for %%i in (%~dp0%curr_OS%\*.bat) do call "%%~i" :TESTEDWIN for %%k in (%~dp0Windows7+\*.reg) do regedit.exe /s "%%~k" for %%i in (%~dp0Windows7+\*.bat) do call "%%~i" :TESTEDOSX for %%k in (%~dp0%xOS%\*.reg) do regedit.exe /s "%%~k" for %%i in (%~dp0%xOS%\*.bat) do call "%%~i" pause |
Отправлено: 10:42, 05-09-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать Вроде того (powershell):
#Requires -RunAsAdministrator $os = gwmi win32_operatingsystem |select caption, osarchitecture switch ($os.caption -replace '.*Windows (XP|[\d\.]+).*','$1') { 'XP'{ "применить все reg файлы и bat файлы в папке с батником с директории WindowsXP" } '7' { "применить все reg файлы и bat файлы в папке с батником с директории Windows7+" } '8*' { "применить все reg файлы и bat файлы в папке с батником с директории Windows7+" "применить все reg файлы и bat файлы в папке с батником с директории Windows8+" } '10' { "применить все reg файлы и bat файлы в папке с батником с директории Windows7+" "применить все reg файлы и bat файлы в папке с батником с директории Windows10" } '11' { "применить все reg файлы и bat файлы в папке с батником с директории Windows7+" "применить все reg файлы и bat файлы в папке с батником с директории Windows11" } } switch ($os.osarchitecture -replace '\D') { '32' { "применить все reg файлы и bat файлы в папке с батником с директории x86" } '64' { "применить все reg файлы и bat файлы в папке с батником с директории x64" } } |
------- Отправлено: 10:53, 05-09-2022 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Cmake определение системы | 007exe | Общий по Linux | 0 | 14-05-2020 22:44 | |
Любой язык - Батник с условием | Sergey666 | Скриптовые языки администрирования Windows | 4 | 25-03-2019 08:41 | |
Прочие БД - VIEW с условием | biosonar7 | Программирование и базы данных | 0 | 10-04-2014 08:08 | |
CMD/BAT - [решено] Определение разрядности системы | Frozen2006 | Скриптовые языки администрирования Windows | 3 | 31-07-2009 01:05 | |
Определение операционной системы | unreliable | Программирование и базы данных | 10 | 28-06-2004 16:19 |
|