for-loop - 使用 for /F 循环进行 CPU 查询的批处理文件
问题描述
需要帮忙。
我正在尝试在批处理文件上运行以下命令以确定机器是 Intel 还是 AMD...
for /F "skip=1 tokens=1" %%i in ('wmic cpu get name') do set chip=%%i
if "%chip%" == "Intel(R)" 转到 Intel 否则转到 AMD
:Intel echo 这是一台 Intel 机器
:AMD echo 这是一台 AMD 机器
但我遇到了一个问题。输出显示如下:
for /F "skip=1 tokens=1" %i in ('wmic cpu get name') do set chip=%i
设置芯片=英特尔(R)
设置芯片=
它显示了第二个芯片“组”,基本上清除了第一个结果。
我需要输入什么才能在第一次响应后停止循环?
解决方案
设置第一行后,使用 GOTO 退出循环。
@ECHO OFF
FOR /F "skip=1 tokens=1" %%i IN ('wmic cpu get name') DO (
SET "chip=%%i"
GOTO AfterTest
)
:AfterTest
IF "%chip%" == "Intel(R)" (GOTO Intel) ELSE (GOTO AMD)
:Intel
echo this is an Intel machine
ECHO This is Intel.
GOTO AfterAll
:AMD
echo this is an AMD machine
ECHO This is not Intel.
GOTO AfterAll
:AfterAll
获取处理器名称的另一种方法。
@ECHO OFF
FOR /F "delims=" %%p IN ('powershell -NoProfile -Command ^(Get-CimInstance -ClassName CIM_Processor^).Name.Split^(' '^)[0]') DO (
SET "chip=%%p"
)
ECHO %chip%
推荐阅读
- r - 通过循环遍历数据框中的变量名称,使用 ggpubr 和 rstatix 创建一组图
- spring-boot - springboot中的tomcat webserver/servlet container/dispatcher servlet交互
- firebase - 在不知道文档 ID 的情况下添加子集合
- python - Numpy追加不向Numpy数组添加行
- html - 如何创建带有编号输入的文本字段?
- javascript - 使用 react-native-track-player 正确切换播放状态以进行实时音频流 React Native 应用程序(shoutcast)
- python - 如何将数组从 MongoDB 转换为 HTML 中的字符串?
- java - 套接字读取 IOException 没有被捕获?
- html - 在重叠图像上应用 CSS 动画
- linux - /bin/sh: 无法访问 tty;作业控制已关闭