svoboda1984
27-11-2015, 02:16
Здраствуйте. Нуждаюсь в помощи. С помощью WMIC мне необходимо получить информацию и вывести её в таком виде:
Memory 1: BANK 0 ChannelA-DIMM0 CMX4GX3M2A1600C9 1333Mhz 2Gb
Memory 2: BANK 2 ChannelB-DIMM0 CMX4GX3M2A1600C9 1333Mhz 2Gb
Подскажите, как это можно осуществить максимально эффективным способом.
Я пробовал через редактирование txt файла с выведенными в него данными командой:
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get BankLabel /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get DeviceLocator /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get PartNumber /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get Speed /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get Capacity /Value^|FindStr .') do (
set num1=%%J
set /a res=num1/1073741824+1
echo !res!>>1.txt
)
Очень большой код получается, ведь планок может быть и 3 и 4, необходима проверка на количество строк и использование функции. Уверен, что есть способ проще, ведь я в скриптах новичок. Лазил во многих темах по форуму, всё очень расплывчато и не тот результат. Мне необходимо понимать текст программы для использования его в будущем.
Memory 1: BANK 0 ChannelA-DIMM0 CMX4GX3M2A1600C9 1333Mhz 2Gb
Memory 2: BANK 2 ChannelB-DIMM0 CMX4GX3M2A1600C9 1333Mhz 2Gb
Подскажите, как это можно осуществить максимально эффективным способом.
Я пробовал через редактирование txt файла с выведенными в него данными командой:
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get BankLabel /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get DeviceLocator /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get PartNumber /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get Speed /Value^|FindStr .') do echo %%J>>1.txt
for /F "tokens=2 delims==" %%J in ('WMIC MemoryChip get Capacity /Value^|FindStr .') do (
set num1=%%J
set /a res=num1/1073741824+1
echo !res!>>1.txt
)
Очень большой код получается, ведь планок может быть и 3 и 4, необходима проверка на количество строк и использование функции. Уверен, что есть способ проще, ведь я в скриптах новичок. Лазил во многих темах по форуму, всё очень расплывчато и не тот результат. Мне необходимо понимать текст программы для использования его в будущем.