Войти

Показать полную графическую версию : Получить название процессора


Страниц : 1 [2]

Iska
25-12-2010, 03:24
список сетевых адаптеров не полон( У меня на тестовой машине их стоит 4 штуки... а скрипт выдал мне только одну реальную + Hamachi »
Обратите внимание на:
…Win32_NetworkAdapter Where ^"AdapterTypeId^=0 And NetConnectionStatus^=2^…
2) в список видеокарточек затесался Radmin... не в тему... »
Что же делать, если он там присутствует :). Попробьуйте добавить по аналогии условие по имени устройства:
…Where Name ^<^> ^"bla-bla-bla^"…
объём памяти оперативки и видеокарточки в байтах »
Извлекайте данные и делайте пересчёт перед выводом, либо же переходите на использование WSH с тем же WMI.

AD1DA5
25-12-2010, 12:48
Iska
Обратите внимание на: »
Обратил, но ничего не понял, поэтому изменил строку на:
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_NetworkAdapter get Caption /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "%%B" "%%B" "net.txt"
Единственное, что не смог сдесь сделать, это убрать кучу мусора после списка реальных адаптеров. Но это не страшно :-)

Также обнаружил, что не работает строка про HDD:
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC DISKDRIVE Where InterfaceType^=^'IDE^' GET Model /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "Жесткий диск: %%B" " %%B" "_hdd.txt"
Задумка скорее всего хорошая была, но почему-то не сработало. Заменил по аналогии на:
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_DiskDrive get Caption /VALUE^|FindStr .^|FindStr /n .') Do Call :_Func "%%A" "%%B" "%%B" "hdd.txt"

Извлекайте данные и делайте пересчёт перед выводом... »
Не подскажите как это сделать? Какие изменения внести в соответствующие строки?

Iska
25-12-2010, 15:42
Обратил, но ничего не понял, … убрать кучу мусора после списка реальных адаптеров…»
Сходите в Google (http://www.google.ru/search?q=Win32_NetworkAdapter) [именно в Google, поскольку он всегда отдаёт преимущество MSDN в строке выдачи результатов запроса; впрочем, Bing тоже будет делать сие в силу своей принадлежности, а для данного конкретного случая адекватный результат даёт и Яndex]. Посмотрите на MSDN (http://msdn.microsoft.com/en-us/library/aa394216(v=vs.85).aspx), что означают и какие значения могут принимать свойства «AdapterTypeId» и «NetConnectionStatus».
Задумка скорее всего хорошая была, но почему-то не сработало.
Опять же, сходите и посмотрите описание «Win32_DiskDrive». Запустите:
wmic.exe DiskDrive get Caption, Model, InterfaceType
и посмотрите, какие значения свойства вообще были, когда «почему-то не сработало». Может, у Вас там вовсе нет «InterfaceType=IDE». У меня, например, нет :):
Caption InterfaceType Model
INTELRAID0 SCSI INTELRAID0
RaidArray SCSI RaidArray
VMLite Miniport Dummy SCSI Disk Device SCSI VMLite Miniport Dummy SCSI Disk Device
Не подскажите как это сделать? Какие изменения внести в соответствующие строки?
Не подскажу. Я делаю разбор немного иначе. Например, так:
@echo off

for /f "usebackq tokens=1,2 delims==" %%i in (`wmic.exe ComputerSystem GET TotalPhysicalMemory /VALUE ^|find.exe "TotalPhysicalMemory"`) do (
set /a iTotalPhysicalMemory = "%%j>>20"
)
echo %iTotalPhysicalMemory% Mb

for /f "usebackq tokens=1,2 delims==" %%i in (`wmic.exe path Win32_VideoController GET AdapterRAM /VALUE ^|find.exe "AdapterRAM"`) do (
set /a iAdapterRAM = "%%j>>20"
)
echo %iAdapterRAM% Mb

El Sanchez
26-12-2010, 15:31
4) файл screenres.txt выглядит несколько странно:
Код:
1280 x 1024 x 4294967296 цв., 60 Hz
, B Hz
Напрягаяет наличие последней строки, не несущей никакого смысла. »
AD1DA5, потому что не все отредактировали (пропустили символ процента)

... Do Call :_Func "%%A" "%%C, %%B Hz" "%%C, %%B Hz" "screenres.txt"

Может, у Вас там вовсе нет «InterfaceType=IDE». У меня, например, нет »
Да уж, про SCSI я и забыл.
Я делаю разбор немного иначе »
Хороший разбор.
Сходите в Google »
Согласен, но и wmic дает вменяемую справку по свойствам, например:

wmic DiskDrive get /?:full

Iska
26-12-2010, 16:26
Согласен, но и wmic дает вменяемую справку по свойствам, »
А можно ли посредством самого «wmic.exe» получить перечень возможных значений перечисления, например, того же «InterfaceType»? Я такого не нашёл, оттого и предложил соотнестись с MSDN.

timbird
08-11-2012, 12:38
Всем здравствуйте!
Подскажите как сделать так чтобы используя этот скрипт информация о компьютере записывалась не в разные файлы, а в один с именем допустим %computername%.txt ??

timbird
08-11-2012, 14:06
Сам разобрался может кому будет полезно:

@Echo off
Echo Сбор информации о системе...

For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC OS GET Caption^,CSDVersion /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo OS: %%B, %%C >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC CPU GET Name^,MaxClockSpeed /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo CUP: %%C, %%B MHz >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC COMPUTERSYSTEM GET TotalPhysicalMemory /VALUE^|FindStr .^|FindStr /n .') Do Call echo RAM: %%B bytes >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC DISKDRIVE Where InterfaceType^=^'IDE^' GET Model /VALUE^|FindStr .^|FindStr /n .') Do Call echo HDD: %%B >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC path Win32_VideoController GET Name^,AdapterRAM /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo VIDEOCARD: %%C, %%B bytes RAM >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC BASEBOARD GET Manufacturer^,Product /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo MOTHERBOARD: %%B, %%C >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_NetworkAdapter Where ^"AdapterTypeId^=0 And NetConnectionStatus^=2^" GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo NETWORK CARD: %%B >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_SoundDevice GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo SOUND CARD: %%B >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC BIOS GET Manufacturer^,Name /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo BIOS: %%B, %%C >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3* Delims=,:" %%A In ('WMIC path Win32_VideoController GET VideoModeDescription^,CurrentRefreshRate /FORMAT:CSV^|FindStr .^|More +1^|FindStr /n .') Do Call echo MONITOR: %%C, %%B Hz >> \\server\change\%date%_%computername%.txt
For /F "Tokens=1,3 Delims==:" %%A In ('WMIC path Win32_CDROMDrive GET Name /VALUE^|FindStr .^|FindStr /n .') Do Call echo DRIVE: %%B >> \\server\change\%date%_%computername%.txt


параметр \\server\change\%date%_%computername%.txt меняется на ВАШ путь и имя файла.txt !

mi_hay
04-06-2016, 14:31
Добрый день, подскажите, как сделать так, чтобы dxdiag запустить, сохранить всю информацию в файле dxdiag.txt на рабочем столе и закрыть все открывшиеся в следствии этих действий окна и программы.
Т.е. чтобы нажал на бат файл и у тебя на рабочем столе появился обновлённый полный файл dxdiag.txt

Foreigner
04-06-2016, 14:49
mi_hay, А если почитать справку?

dxdiag /?
dxdiag /t result.txt
dxdiag /x result.xml




© OSzone.net 2001-2012