该批处理文件运行良好:
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Lenovo /v DisplayVersion | msg %username%
它打开一个带有值的窗口,但它也显示源代码。如何编写它而不显示源代码?
答案1
找到方法了。
for /f "tokens=2*" %%a in ('REG QUERY "HKLM\SOFTWARE\Lenovo" /v "DisplayVersion"') do set "value=%%~b"
msg *USERNAME* %value%
exit
答案2
你可以使用这个:
@for /f "tokens=3 delims= " %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Lenovo /v DisplayVersion ^| find "DisplayVersion"') do @msg *USERNAME* %%a
- @ 符号可防止命令回显。
- 使用
for
命令的标记和分隔符选项,我们用空格分割字符串并获取第三个值,该值实际上是值。为了仅获取该行,我们使用find
。 - 然后我们向 USERNAME 发送有关具体值的消息。此命令的回显也被关闭。
脚注
- 您还可以
@echo off
在批处理文件的开头添加以停止更多@s。 - 如果从命令提示符而不是批处理文件运行此命令,则将两个百分号 (%%) 替换为一个 (%)。