Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Использование утилит Билла Стюарта в BAT

Ответить
Настройки темы
CMD/BAT - [решено] Использование утилит Билла Стюарта в BAT

Пользователь


Сообщения: 65
Благодарности: 7

Профиль | Отправить PM | Цитировать


Недавно натолкнулся на набор утилит командной строки (автор: Билл Стюарт), предназначенных для администрирования Windows. Скачать и ознакомиться с описанием можно по ссылке.
Возможности утилит удобно использовать в скриптах, например в BAT. Утилиты бесплатны, их также можно использовать в собственных приложениях с предварительного разрешения автора.

Вопрос по утилитам FVerTest.exe и OSTest.exe:
FVerTest.exe выводит информацию о версии EXE/DLL, в виде:
[1.0.0.0] C:\Windows\system32\Library.dll

OSTest.exe выводит информацию об ОС:
Platform: ...
Version: ...
Service Pack: ...
Build: ...
Home edition: ...
Role: ...
Terminal Server: ...
Architecture: ...

Каким образом можно вывести в переменные эти значения/одно из значений?
Чтобы впоследствии можно было создать похожие конструкции:
Код: Выделить весь код
If "%version%"=="1.0.0.0" GoTo :enter_path
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:51, 03-02-2013

 

Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


так можно и без утилит

Код: Выделить весь код
FOR /F "tokens=3* delims= " %%i in ('ver') do set version=%%i
If version==5.1 GoTo :xp
If version==6.1 GoTo :seven
и т.д.

Windows NT 3.1 (1993)
Windows NT 3.5 (1994)
Windows NT 3.51 (1995)
Windows NT 4.0 (1996)
Windows 2000 (2000) — Windows NT 5.0
Windows XP (2001) — Windows NT 5.1
Windows XP 64-bit Edition (2006) — Windows NT 5.2
Windows Server 2003 (2003) — Windows NT 5.2
Windows Vista (2006) — Windows NT 6.0
Windows Home Server (2007) — Windows NT 5.2
Windows Server 2008 (2008) — Windows NT 6.0
Windows Small Business Server (2008) — Windows NT 6.0
Windows 7 — Windows NT 6.1 (2009)
Windows Server 2008 R2 — Windows NT 6.1 (2009)
Windows Home Server 2011 — Windows NT 6.1 (2011)
Windows 8 — Windows NT 6.2 (2012)
Windows Server 8 — Windows NT 6.2 (2012)

Отправлено: 19:47, 03-02-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

for /f "usebackq delims=[] " %%i in (`FVerTest.exe "C:\WINDOWS\system32\shell32.dll"`) do set sVersion=%%i

if defined sVersion echo [%sVersion%]

endlocal
exit /b 0
Но почему Вы не хотите использовать имеющийся функционал по сравнению версии:
Цитата:
SYNOPSIS
fvertest [-v version] [-q] [d:][path]filename.ext
?

Наподобие:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

FVerTest.exe -v "6.0.2900.5853" -q "C:\WINDOWS\system32\shell32.dll"

if %errorlevel% equ 1 echo Version is equal

endlocal
exit /b 0
Работа с «OSTest.exe» аналогична приведённым примерам.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:19, 03-02-2013 | #3


Пользователь


Сообщения: 65
Благодарности: 7

Профиль | Отправить PM | Цитировать


Iska спасибо! Вы мне помогли.
Встроенный функционал мне не подходит т.к. мне недостаточно верифицировать конкретную версию, а необходимо принимать отдельное решение для каждой версии.

Отправлено: 20:37, 03-02-2013 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Lucretius, приведите пример.

Отправлено: 22:29, 03-02-2013 | #5


Пользователь


Сообщения: 65
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
Lucretius, приведите пример. »
Byte patch(локализация) с поправкой на версию.

Отправлено: 18:56, 04-02-2013 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Не то. Опишите существующий алгоритм. Можно словами.

Отправлено: 19:04, 04-02-2013 | #7


Пользователь


Сообщения: 65
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
Опишите существующий алгоритм. Можно словами. »
Алгоритм, как Вы понимаете в процессе реализации. В BAT я не силён поэтому сейчас застрял на сборке скрипта. Если словами, то используется патч(исполняемый файл) соответствующий версии пропатчиваемой программы. Всего патчей 3, ввиду небольшого размера патчей(<50kb) для выходного размера инсталлятора это не критично. В качестве инсталлятора - 7z SFX по причине простоты и прозрачности для антивирусного ПО.

Отправлено: 19:48, 04-02-2013 | #8


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Lucretius, я просто не могу понять, почему Вы считаете, что использование «-v» Вам не подходит?!

Отправлено: 21:30, 04-02-2013 | #9


Пользователь


Сообщения: 65
Благодарности: 7

Профиль | Отправить PM | Цитировать


Iska, Да действительно в моём случае лучше использовать «-v» для каждой версии. Я ошибочно полагал что при выводе значения в переменную код будет проще. Впрочем это удобно для вывода информации о версии в отображаемом тексте например в диалоге или предупреждении.

Отправлено: 22:20, 04-02-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Использование утилит Билла Стюарта в BAT

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Использование внешних программ в CMD/BAT скрипте. Daemonstar Скриптовые языки администрирования Windows 2 14-07-2011 12:39
Шутка разработчиков: Фотография Билла Гейтса в Outlook 2010 OSZone News Новости и события Microsoft 2 30-09-2010 17:10
Правильное использование антивирусных утилит. Vienna7 Хочу все знать 2 13-02-2010 23:24
Встречайте Gates Notes – персональный сайт Билла Гейтса OSZone News Новости и события Microsoft 0 22-01-2010 02:30
Рассекречено внутреннее письмо Билла Гейтса OSZone News Новости и события Microsoft 4 02-07-2008 08:32




 
Переход