批处理脚本,Reg键中的Null值返回错误

时间:2015-03-31 15:16:41

标签: batch-file automation registry

以下代码获取IE代理的IP。如果没有指定,希望它返回NIL。

FOR /F "usebackq tokens=3*" %%B IN (`REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v  ProxyServer`) DO ( 
    SET ProxyAddress=%%B
    IF "!ProxyAddress!"=="" (
        SET "ProxyAddress=NIL"
    )
Echo %ProxyAddress%

但这会返回错误, The system was unable to find specified reg key.

1 个答案:

答案 0 :(得分:1)

此脚本应该有帮助(事先将值设置为ProxyAddress变量)。

注意2^>NUL会将错误消息重定向到NUL(无底洞),参见redirection。注意>在此处使用^进行转义。

SET "ProxyAddress=NIL"
FOR /F "usebackq tokens=3*" %%B IN (
  `REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v  ProxyServer 2^>NUL`
) DO ( 
    SET "ProxyAddress=%%B"
)
Echo %ProxyAddress%