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

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

Ответить
Настройки темы
CMD/BAT - Получить название процессора

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


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

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


Приветствую участников форума!

Есть задача:

Имеется бат-файл типа: wmic cpu get name >cpu.txt
Задачу он свою выполняет. Сохраняет нужную мне информацию в текстовом файле. Но меня не устраивает кодировка получившегося текстовика (Юникод). Надо обычную Windows-кодировку.... И хотелось бы сделать его дополнительное редактирование прямо этим же батником: убрать верхнюю строчку и оставить только вторую. И третье условие: батник должен запускаться на многих машинах со съёмного жёсткого диска и сохрянять свой текстовик прямо на съмный носитель.

Текстовый файл, который получается:

Name
<cpuname>


Текстовый файл, который нужен:

<cpuname>

Т.е. командой батника необходимо убрать верхнюю строку текстового файла.

Надеюсь, понятно изложил суть проблемы... извиняюсь за корявость.... В программировании не особо разбираюсь. Жду помощи)

Отправлено: 12:03, 20-12-2010

 

Ветеран


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

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


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

Отправлено: 03:24, 25-12-2010 | #21



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

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


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


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

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


Iska
Цитата 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:
Извлекайте данные и делайте пересчёт перед выводом... »
Не подскажите как это сделать? Какие изменения внести в соответствующие строки?

Отправлено: 12:48, 25-12-2010 | #22


Ветеран


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

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


Цитата AD1DA5:
Обратил, но ничего не понял, … убрать кучу мусора после списка реальных адаптеров…»
Сходите в Google [именно в Google, поскольку он всегда отдаёт преимущество MSDN в строке выдачи результатов запроса; впрочем, Bing тоже будет делать сие в силу своей принадлежности, а для данного конкретного случая адекватный результат даёт и Яndex]. Посмотрите на MSDN, что означают и какие значения могут принимать свойства «AdapterTypeId» и «NetConnectionStatus».
Цитата AD1DA5:
Задумка скорее всего хорошая была, но почему-то не сработало.
Опять же, сходите и посмотрите описание «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

Цитата AD1DA5:
Не подскажите как это сделать? Какие изменения внести в соответствующие строки?
Не подскажу. Я делаю разбор немного иначе. Например, так:
читать дальше »
Код: Выделить весь код
@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
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:42, 25-12-2010 | #23


Аватара для El Sanchez

Ветеран


Contributor


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

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


Цитата AD1DA5:
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"
Цитата Iska:
Может, у Вас там вовсе нет «InterfaceType=IDE». У меня, например, нет »
Да уж, про SCSI я и забыл.
Цитата Iska:
Я делаю разбор немного иначе »
Хороший разбор.
Цитата Iska:
Сходите в Google »
Согласен, но и wmic дает вменяемую справку по свойствам, например:
Код: Выделить весь код
wmic DiskDrive get /?:full
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:31, 26-12-2010 | #24


Ветеран


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

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


Цитата El Sanchez:
Согласен, но и wmic дает вменяемую справку по свойствам, »
А можно ли посредством самого «wmic.exe» получить перечень возможных значений перечисления, например, того же «InterfaceType»? Я такого не нашёл, оттого и предложил соотнестись с MSDN.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:26, 26-12-2010 | #25


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


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

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


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

Отправлено: 12:38, 08-11-2012 | #26


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


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

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


Сам разобрался может кому будет полезно:
Код: Выделить весь код
@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 !

Отправлено: 14:06, 08-11-2012 | #27


Аватара для mi_hay

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


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

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


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

Отправлено: 14:31, 04-06-2016 | #28


Ветеран


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

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


mi_hay, А если почитать справку?
Код: Выделить весь код
dxdiag /?
dxdiag /t result.txt
dxdiag /x result.xml

Отправлено: 14:49, 04-06-2016 | #29



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как получить название группы Администраторов в переменную. volk1234 Скриптовые языки администрирования Windows 24 02-04-2015 15:48
Подскажите название игры silalex Игры 1 06-05-2010 14:37
[решено] Название на ссылках MiXalich Хочу все знать 5 15-07-2008 15:33
название компьютера, где? slaine Microsoft Windows 95/98/Me (архив) 8 18-04-2006 17:31
Название дисков Falcon1 Microsoft Windows 2000/XP 6 07-06-2003 15:20




 
Переход