irqbalance对台式机/笔记本是不是有帮助
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了irqbalance对台式机/笔记本是不是有帮助相关的知识,希望对你有一定的参考价值。
参考技术A 现代版本的irqbalance非常稳固可靠,并有助于确保系统中断负荷不盯住CPU0,它也完全不应该占用太多系统内存。使用特定命令的输出作为变量来检测笔记本电脑或台式电脑是不是 Windows BATCH
【中文标题】使用特定命令的输出作为变量来检测笔记本电脑或台式电脑是不是 Windows BATCH【英文标题】:Use Output of Specific Commands as Variables to Detect if Laptop or Desktop Computer Windows BATCH使用特定命令的输出作为变量来检测笔记本电脑或台式电脑是否 Windows BATCH 【发布时间】:2021-12-24 12:18:30 【问题描述】:我一直在为这个问题摸不着头脑。我正在尝试做的是向我的计算机诊断批处理脚本添加自动检测,这样我就可以制作特定于笔记本电脑或台式设备的脚本,这些脚本会根据设备类型自动执行。我认为可以使用两个命令来检测这一点。
wmic systemenclosure get chassistypes
和
powercfg /batteryreport
不幸的是,我似乎无法将这些命令的输出解析为我可以实际使用的变量。 This guide 是我试图遵循的,但我遇到了 wmic 和 powercfg 的问题,wmic 输出不能被过滤我在链接指南中给出的示例中的令牌和 powercfg 只是拒绝合作。这是许多不起作用的组合之一
for /f %%i in ('powercfg /batteryreport') do set RESULT=%%i
任何帮助将不胜感激,我希望这是我的问题而不是批处理的限制。
【问题讨论】:
【参考方案1】:如果您打开cmd
并运行for /?
,您会发现该命令可以使用不同的功能,其中一个是delims=
,这是powercfg
需要的,因为结果包含空格:
对于wmic
,其中一个就可以了:
@echo off
for /f "delims=" %%i in ('wmic systemenclosure get chassistypes ^| findstr ""') do @set "chassistype=%%i"`
echo %chassistype%
或通过使用/VALUE
选项并使用标准输出作为变量和值来设置变量:
@echo off
for /f "delims=" %%i in ('wmic systemenclosure get chassistypes /VALUE ^| findstr ""') do set "%%i"`
echo %chassisTypes%
和powercfg
@echo off
for /f "delims=" %i in ('powercfg /batteryreport') do set "result=%%i"
echo %result%
您显然可以使用上述所有命令,而无需 set
只需 echo
ing 命令即可。
【讨论】:
哇,感谢所有工作人员,现在继续看看我可以进一步推动批处理。很有帮助! 没问题,开始,打开cmd
并运行help
,它将返回一个命令列表,你可以为每个命令运行commandname /?
并获得大量信息。
【参考方案2】:
虽然您收到了您似乎很满意的答案,但我决定发布另一种方法。我不确定您是否知道,但可能有几个结果可以确定为 Desktop
或 Laptop
,因此强大的脚本将对每个结果执行检查。
此batch-file 版本利用powershell 而不是wmic 来解析结果。它随后将术语Desktop
或Laptop
分配给我认为适合它们的术语:
@Echo Off
SetLocal EnableExtensions
Set "Type=" & For /F EOL^=- %%G In ('
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -Command
"(Get-CimInstance -Query 'Select * From CIM_Chassis').ChassisTypes"^
" | Select-Object -Property @ Label = '-'; Expression = Switch ($_) "^
" '3', '4', '5', '6', '7', '15', '16' -Eq $_ 'Desktop' ;"^
" '8', '9', '10', '11', '12', '14', '18', '21' -Eq $_ 'Laptop' ;"^
" default '' " 2^>NUL') Do Set "Type=%%G"
If Not Defined Type GoTo :EOF
Set Type & Pause
包含最后一行只是为了向您显示变量名称及其扩展值,请随意用您自己的代码替换它,(根据需要使用%Type%
)。如果脚本没有暂停,即只是退出,则您的ChassisTypes
输出未确定为Desktop
或Laptop
。
【讨论】:
以上是关于irqbalance对台式机/笔记本是不是有帮助的主要内容,如果未能解决你的问题,请参考以下文章