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

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

Ответить
Настройки темы
CMD/BAT - [решено] определение оборудования из коммандной строки и запись в отчета файл

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


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

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


нужен скрипт, который бы определял модель железа компьютера: Процессор, Память, Материнку, периферийное оборудование
и записывал его в файл

пробовал через msinfo32, но там много воды и неточно определяется тип процессора

cpu-z c параметром -txt=%otchet_filename% почти то что нужно выдает, но в нем нет сведений о жестких дисках, приводах и т.п.

пока что получилось это
Код: Выделить весь код
 
set filename=\\server.domain.local\domain$\hardreport\%username%---%computername%
if EXIST %filename%_cpuZ.txt exit
start  /wait  "\\DOMSTROI\DOMAIN$\cpuz.exe" -txt=%filename%_cpuZ.txt
start  /wait  "%PROGRAMFILES%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" /report %filename%_ms32.txt
но все равно много воды и не удобочитаемо

Отправлено: 14:04, 12-07-2010

 


Moderator


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

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


RedX, можно посмотреть в сторону WMI (Win32 Classes), например:
Код: Выделить весь код
WMIC CPU Get Description
Код: Выделить весь код
WMIC DiskDrive Get /Value
и т. д.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:33, 12-07-2010 | #2



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

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


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


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

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


RedX,

пример разбора накопителей (включая сетевые диски)

Код: Выделить весь код
@Echo off && setlocal enabledelayedexpansion
SET A$=A$&&SET B$=B$
SET B1=Local&& SET A1=Local Fixed Disk
SET B2=CD-ROM&& SET A2=CD-ROM Disc
SET B3=Removable&& SET A3=Removable Disk
SET B4=Network&& SET A4=Network Connection
for /f %%i in ('set b') do set /a $class+=1
set /a $class-=1
SET №=0
Echo.
Echo ----------------------------------------------------------------
Echo L*  Type    Filesys Freespace/Size Name/Providername
Echo ----------------------------------------------------------------
Echo.
:inputdata
SET /a №=%№%+1 && set $num=0
if /i %№% gtr %$class% (pause && goto :eof)
SET Cell=!%B$:$=%%№%! && SET head=!%A$:$=%%№%!
Echo %head% && Echo. && for /f "tokens=1-10 delims= " %%i in ^
('wmic.exe logicaldisk get caption^,filesystem^,freespace^,size^,VolumeName^,providername^,description ^| find /i "%Cell%"') ^
do  SET /a $num+=%$num%+1 && call :%Cell% %%i %%j %%k %%l %%m %%n %%o "%%p %%q %%r"
Echo ----------------------------------------------------------------
goto inputdata
goto :eof
:Local
set LocDisk%$num%=%1
set type=%Cell%
set Filesys=%5
set Freespace=%6
set /a Freespace=(%Freespace:~0,-2%/10737418)
set Size=%7
set /a Size=(%Size:~0,-3%/10737418)*10
Set Name=%~8
If "!LocDisk%$num%!"=="C:" set "Name=System Drive"
Echo !LocDisk%$num%!  %type%   %Filesys%    %Freespace%GB/%Size% GB      %Name%
goto :eof
:CD-ROM
set CD-ROM%$num%=%1
set type=%Cell%
Echo !CD-ROM%$num%!  %type%           not specifies 
goto :eof
:Removable
set RemDisk%$num%=%1
set type=%Cell%
set Filesys=%4
set Freespace=%5
set /a Freespace=(%Freespace:~0,-1%/107374)
set Size=%6
set /a Size=(%Size:~0,-1%/107374)
Set Name=%7
Echo  !RemDisk%$num%! %type%     %Filesys%    %Freespace%/%Size% MB      %Name%
goto :eof
:Network
set NetDisk%$num%=%1
set type=%Cell%
set Filesys=%4
set Freespace=%5
set /a Freespace=(%Freespace:~0,-2%/10737418)
set Size=%7
set /a Size=(%Size:~0,-3%/10737418)*10
set Providername=%6
Echo  !NetDisk%$num%! %type% %Filesys%      %Freespace%/%Size% GB    %Providername%
goto :eof


Подобным образом можно обработать и другие данные о PC, например:

Код: Выделить весь код
wmic cpu get Manufacturer, Name >С:\cpu.log
wmic cpu get DataWidth, MaxClockSpeed, NumberOfCores, SocketDesignation >>С:\cpu.log
wmic cpu get L2CacheSize, L2CacheSpeed, L3CacheSize, L3CacheSpeed >>С:\cpu.log
wmic Baseboard get Name,Product, Tag, Version, SerialNumber, Replaceable, Height >С:\moth.log

Последний раз редактировалось deepred, 13-07-2010 в 15:18. Причина: добавлен новый пример

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:30, 12-07-2010 | #3


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


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

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


Спасибо!
Именно то, что нужно!

Отправлено: 09:33, 14-07-2010 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Команды из коммандной строки? Altaf Microsoft Windows 95/98/Me (архив) 6 05-12-2017 15:58
вызов диспетчера задач из коммандной строки bool Хочу все знать 2 05-12-2006 15:24
FTP из коммандной строки Alex6661 Хочу все знать 1 13-12-2005 09:46
Подключение/Отключение локальной сети из коммандной строки Blast Microsoft Windows NT/2000/2003 9 29-10-2004 09:41
VPN соединение из коммандной строки jackmob2 Сетевые технологии 1 22-03-2004 13:48




 
Переход