2015-03-31 2 views
0

Код ниже приобретает IP прокси IE. В случае, если не указано, захотите вернуть NIL.Batch Script, значение Null в регистре Reg возвращает ошибку

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

Этот скрипт должен помочь (заданное значение переменной 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% 
+0

Nice one! Я должен был подумать об этом. – Lastwish