22.02.2013, 11:56 | #1 (ссылка) |
Новичок
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
|
кто знает как написать сценарий?
все привет.
сабж: в bat необходимо прописать условие,при котором будет выполняться действие. это условие-определить операционную систему. ну и собственно как бы это придумать? написать на другом языке не подходит-тот же паскаль или дельфи при опросе будет попадать в файрволл,а на 130 компах это нафиг не надо,да еще пра моментов...короче надо bat |
25.02.2013, 14:20 | #4 (ссылка) |
Новичок
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
|
Да,пишу кое что,и условие кода зависит от варианта установленной системы.
Проще всего поставить условие на наличие характерного файла -но тут всякого рода говносборки от криворуких будут портить дело. Ведь некоторые самоделкины вырезают напрочь системные файлы. Пока остановилась на опросе и и поиск совпадения в консоли. Но чуйка подсказывает что это не идеальное решение. При большом коде будет громоздко,хотя не на своих же плечах носить |
26.02.2013, 13:14 | #5 (ссылка) |
Новичок
Регистрация: 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 (вывод сообщения), заменяете её на нужную вам |
26.02.2013, 15:07 | #7 (ссылка) |
Новичок
Регистрация: 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 |
26.02.2013, 18:33 | #8 (ссылка) |
Новичок
Регистрация: 18.08.2012
Сообщений: 575
Репутация: 35
|
Glorko, красвчик.
Я этот вариант отрабатывала,тока через reg query + find опрос в консоль но как то не подумала насчет for. отличный вариант-лучше моего нынешнего. я сделала через ver,тоже работает но твой код компактнее. чем в жызни занимаешься? |
Ads | |
04.03.2013, 06:24 | #10 (ссылка) |
Новичок
Регистрация: 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 ---------- Так то! |
Ads | |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пишет:Сценарий исполняемый на данной странице занят | 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 |