Вернуться   Компьютерный форум > Компьютеры > Операционные системы
 
 
Опции темы
Старый 22.02.2013, 11:56   #1 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию кто знает как написать сценарий?

все привет.
сабж:
в bat необходимо прописать условие,при котором будет выполняться действие.
это условие-определить операционную систему.
ну и собственно как бы это придумать?
написать на другом языке не подходит-тот же паскаль или дельфи при опросе будет попадать в файрволл,а на 130 компах это нафиг не надо,да еще пра моментов...короче надо bat
Gerl вне форума  
Старый 23.02.2013, 12:18   #2 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

Ага)))
От помощи отбоя нет...
Спецы вы где?!


Я на данный момент нашла выход в опросе содержимого консоли и назначить условие по эльсэ.
Но если есть еще решения с удовольствием пригляжусь!
Gerl вне форума  
Старый 25.02.2013, 11:35   #3 (ссылка)
Новичок
 
Аватар для Монтер
 
Регистрация: 06.01.2010
Сообщений: 184
Репутация: 4
По умолчанию

Gerl,
Цитата:
Сообщение от Gerl Посмотреть сообщение
Ага)))
От помощи отбоя нет...
Спецы вы где?
Это форум добровольцев

Ты хочешь определить разрядность или версию или что?
Монтер вне форума  
Старый 25.02.2013, 14:20   #4 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

Да,пишу кое что,и условие кода зависит от варианта установленной системы.
Проще всего поставить условие на наличие характерного файла -но тут всякого рода говносборки от криворуких будут портить дело.
Ведь некоторые самоделкины вырезают напрочь системные файлы.
Пока остановилась на опросе и и поиск совпадения в консоли.

Но чуйка подсказывает что это не идеальное решение.
При большом коде будет громоздко,хотя не на своих же плечах носить
Gerl вне форума  
Старый 26.02.2013, 13:14   #5 (ссылка)
Новичок
 
Аватар для Glorko
 
Регистрация: 26.02.2013
Сообщений: 8
Репутация: 3
По умолчанию

Добрый день

В данном случае советую составить сценарий при помощи VBScripts

Если знаете языки программирования, будет не сложно написать программку при помощи одного только "блокнота" и Гугла. Возникнут вопросы - пишите

---------- Добавлено в 11:14 ---------- Предыдущее сообщение было написано в 11:00 ----------

Например,

Dim strComputer, oWMIService, colOSInfo, oOSProperty, strCaption, strOSFamily
strComputer = "."
Set oWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colOSInfo = oWMIService.ExecQuery("Select * from Win32_OperatingSystem")
For Each oOSProperty in colOSInfo
strCaption = oOSProperty.Caption
Next
If InStr(1,strCaption, "Vista", vbTextCompare) Then msgbox "Vista"
If InStr(1,strCaption, "XP", vbTextCompare) Then msgbox "XP"
If InStr(1,strCaption, "7", vbTextCompare) Then msgbox "7"

Сохраняете через "Блокнот" с расширением vbs и просто запускаете
Если нужно запускать именно через bat файл, воспользуйтесь командой
start название.vbs

После условия, выполняется команда msgbox (вывод сообщения), заменяете её на нужную вам
Glorko вне форума  
Старый 26.02.2013, 14:18   #6 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

Glorko, конечно спасибо НО!!!
Я работаю с 5 языками (кроме бат-это просто приспичило) и могу написать все в другом варианте.
Но надо на бат,даже не повершелл.
Если пишете софтинки то поимете почему.
Gerl вне форума  
Старый 26.02.2013, 15:07   #7 (ссылка)
Новичок
 
Аватар для Glorko
 
Регистрация: 26.02.2013
Сообщений: 8
Репутация: 3
По умолчанию

Хорошо, тогда вместо того чтобы как в VBS брать версию ОС из капчи, при помощи bat-файла возьмём её из реестра:


for /f "tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| find "ProductName"') do set ProductName=%%b

if "%ProductName%" == "Microsoft Windows XP " goto Win1
if "%ProductName%" == "Windows 7 Home Basic " goto Win2

:Win1
echo xp
pause
exit

:Win2
echo 7
pause
exit


Между Win1(2) и exit пишите нужные вам команды
Обратите внимание, что после полного названия ОС (в кавычках) ставится пробел

Полное наименование своей ОС можно посмотреть в реестре (выполнить-regedit)
Далее по пути:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

И справа находим пункт Product Name
Glorko вне форума  
Старый 26.02.2013, 18:33   #8 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

Glorko, красвчик.
Я этот вариант отрабатывала,тока через reg query + find опрос в консоль но как то не подумала насчет for.


отличный вариант-лучше моего нынешнего.
я сделала через ver,тоже работает но твой код компактнее.

чем в жызни занимаешься?
Gerl вне форума  
Ads
Старый 27.02.2013, 05:35   #9 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

Glorko, ошибочки в коде.
Исправлю -покажу.
Gerl вне форума  
Старый 04.03.2013, 06:24   #10 (ссылка)
Новичок
 
Аватар для Gerl
 
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
По умолчанию

вот мои вариант
Код:
SET Version=Unknown

VER | FINDSTR /IL "5.0" > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2000"

VER | FINDSTR /IL "5.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows XP"

VER | FINDSTR /IL "5.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 2003"

VER | FINDSTR /IL "6.0." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows Vista"

VER | FINDSTR /IL "6.1." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 7"

VER | FINDSTR /IL "6.2." > NUL
IF %ERRORLEVEL% EQU 0 SET Version="Windows 8"



IF %VERSION% == "Windows XP" GOTO XP
IF %VERSION% == "Windows 2000" GOTO XP
IF %VERSION% == "Windows 2003" GOTO XP
IF %VERSION% == "Windows Vista" GOTO WIN7
IF %VERSION% == "Windows 7" GOTO WIN7
IF %VERSION% == "Windows 8" GOTO WIN7

GOTO UNKNOWN

:WIN7

:WIN ХР


---------- Добавлено в 08:24 ---------- Предыдущее сообщение было написано в 08:22 ----------

Так то!
Gerl вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пишет:Сценарий исполняемый на данной странице занят Psionik Windows XP 0 20.06.2011 15:19
Как написать дробь в html DyH9l Веб-строительство 5 20.05.2010 14:43
сервер сценариев как отключить сценарий намет Windows XP 1 14.04.2010 20:42
Как написать прогу:)... Fuj_1000 Программы 3 13.03.2008 09:03


Текущее время: 13:41. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.