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 是我试图遵循的,但我遇到了 wmicpowercfg 的问题,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 只需 echoing 命令即可。

【讨论】:

哇,感谢所有工作人员,现在继续看看我可以进一步推动批处理。很有帮助! 没问题,开始,打开cmd并运行help,它将返回一个命令列表,你可以为每个命令运行commandname /?并获得大量信息。 【参考方案2】:

虽然您收到了您似乎很满意的答案,但我决定发布另一种方法。我不确定您是否知道,但可能有几个结果可以确定为 DesktopLaptop,因此强大的脚本将对每个结果执行检查。

此batch-file 版本利用powershell 而不是wmic 来解析结果。它随后将术语DesktopLaptop 分配给我认为适合它们的术语:

@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 输出未确定为DesktopLaptop

【讨论】:

以上是关于irqbalance对台式机/笔记本是不是有帮助的主要内容,如果未能解决你的问题,请参考以下文章

IRQBalance真的有效么?

检查linux机器是不是空闲

centos 7 系统服务auditd kdump tuned irqbalance

ipconfig/all 显示Server: unKnow

windows怎么查看cuda是不是安装成功

笔记本和台式机怎么样互传文件