Bon*_*rse 2 windows-registry command-line batch-file
如果我运行以下命令:
@ECHO OFF
FOR /F "tokens=2* delims= " %%A IN ('REG QUERY "HKLM\SOFTWARE\SomeApp\Server" /v ServerName') DO SET ServerName=%%B
ECHO Server: %ServerName%
Run Code Online (Sandbox Code Playgroud)
并且注册表不存在,它给出了以下错误
ERROR: The system was unable to find the specified registry key or value.
Run Code Online (Sandbox Code Playgroud)
我知道错误是预期的,但是如何抑制此错误?
不太关心 ECHO 部分只显示“SERVER:”而没有任何价值,这对我来说很好。
FOR /F "tokens=2*" %%A IN ('
REG QUERY "HKLM\SOFTWARE\SomeApp\Server" /v ServerName 2^> nul
') DO SET "ServerName=%%B"
ECHO Server: %ServerName%
Run Code Online (Sandbox Code Playgroud)
从您的代码更改:
delims
删除。制表符和空格是默认分隔符,不需要包含它们stderr
流(流编号 2)被重定向到 nul 设备以隐藏错误输出。>
当包含在for /f
命令中时,重定向运算符需要转义,从这里开始^>
set
command 被引用以防止值中出现结尾空格或特殊字符的问题。引号只保护操作不包含在存储到变量中的值中。 归档时间: |
|
查看次数: |
10227 次 |
最近记录: |