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

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

Ответить
Настройки темы
CMD/BAT - Батник для парсинга и вывода на экран

Новый участник


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

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


Вложения
Тип файла: zip cscript.zip
(36.9 Kb, 13 просмотров)
Аудирую ПК с разными версиями Windows, начиная от 2000, домена нет, VBScript запрещен, поэтому выбор пал на парсинга вывода AIDA64 Business, XML я не осилил, поэтому решено было парсить INI-файл.

Скрипт должен брать строки (tokens=1, %%i) из params.dat, находить аналогичную в Report.ini (тоже tokens=1, %%j), в случаев совпадения выдать из файла Reports.ini всю строку в консоль. Архив со своими трудами прилагаю.

Отправлено: 14:51, 25-11-2014

 

Ветеран


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

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


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

for /f "usebackq delims==" %%i in ("params.dat")  do (
 for /f "usebackq tokens=1* delims==" %%j in ("Report.ini") do (
  if /i "%%i"=="%%j" echo %%j=%%k
  )
 )

pause>nul

или


Код: Выделить весь код
@findstr /bilg:"params.dat" "Report.ini"& pause>nul

.


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

Отправлено: 20:38, 25-11-2014 | #2



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

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


Новый участник


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

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


Georgio, спасибо. На самом деле первый всё-таки нравится больше, шире возможности кастомизации вывода.

Отправлено: 13:19, 26-11-2014 | #3


Новый участник


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

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


Скрипт мой ширится, но напрямую break или next %%i не нашел в for, подскажите пожалуйста, каким методом лучше реализовать?

Код: Выделить весь код
@echo off
echo NETBIOS Host Name=%computername%
.\bin\AIDA64Business\aida64.exe /R .\reports\$HOSTNAME_1.ini /INI /CUSTOM .\xx.rpf
.\bin\iconv\bin\iconv.exe -f CP1251 -t UTF-8 .\reports\%computername%_1.ini > .\reports\report_out.ini
chcp 65001
for /f "usebackq delims==" %%i in ("params.dat")  do (
 for /f "usebackq tokens=1* delims==" %%j in (".\reports\report_out.ini") do (
  if /i "%%i"=="%%j" ( 
                                    echo %%j=%%k
 
                                   )
  )
 )

pause>nul
Для кого-то быть можем будет полезным вариант решения проблем кодировок. Можно расширить функционал с помощью другой утилиты, которая определяет текущую кодировку файла.

Отправлено: 13:57, 09-12-2014 | #4


Новый участник


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

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


Решил проблемы собственным мозгом, выглядит так:
Код: Выделить весь код
@echo off
Setlocal EnableDelayedExpansion
echo NETBIOS Host Name=%computername%
rem .\bin\AIDA64Business\aida64.exe /R .\reports\$HOSTNAME_1.ini /INI /CUSTOM .\xx.rpf
.\bin\iconv\bin\iconv.exe -f CP1251 -t UTF-8 .\reports\%computername%_1.ini > .\reports\report_out.ini
chcp 65001

for /f "usebackq delims==" %%i in ("params.dat")  do (
set bool=false
 for /f "usebackq tokens=1* delims==" %%j in (".\reports\report_out.ini") do (
  if /i "!bool!" == "false" (
  if /i "%%i"=="%%j" ( 
                                    echo %%j=%%k
                                    set bool=true
                                   )
                                )
                                                                                                                     )
                                                                                    )

pause>nul

Отправлено: 14:48, 09-12-2014 | #5



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Как сделать два потока вывода в файл и на экран zamut Скриптовые языки администрирования Windows 2 27-12-2011 09:10
Карточка для вывода изображений на несколько мониторов Duplex Видеокарты 0 13-07-2008 21:37
Java - Regexp java или иной библиотеки для парсинга HTML Flick Программирование и базы данных 5 25-03-2008 15:23
Недостаточно системных ресуров для вывода на экран??? Eagle12 Microsoft Windows 95/98/Me (архив) 2 17-05-2004 11:44




 
Переход