2013-07-01 5 views
5

सारांशबैच एक चर

मैं एक रजिस्ट्री कुंजी का DWORD मान पाते हैं और इसके खिलाफ एक अगर बयान को चलाने के लिए यह करने के लिए एक चर सेट करने में सक्षम होने की जरूरत है के लिए reg क्वेरी आदेश के उत्पादन में regex।

मैं सिर्फ एक reg क्वेरी के शब्द को कैसे पकड़ सकता हूं ताकि मैं अपनी बाकी स्क्रिप्ट में इसके साथ काम कर सकूं?

reg क्वेरी

reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall 

अनुरोध क्वेरी उत्पादन

EnableFirewall REG_DWORD 0x1 

क्या मैं

0x1

हड़पने के लिए की जरूरत है

छद्म कोड

query firewall reg value 
regex out DWORD value and set to variable var1 
if var1 == 0x1 then do blah 
else do other blah 

उत्तर

9

इस प्रयास करें:

@echo off &setlocal 
for /f "tokens=2*" %%a in ('reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall') do set "var=%%b" 
if "%var%"=="0x1" (do this) else do that 
+0

धन्यवाद! यह पूरी तरह से काम करता है – toosweetnitemare

3

यह आप के लिए काम करना चाहिए:

for /f "tokens=3" %%x in ('reg query HKLM\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile /v EnableFirewall') do set FWSTATUS=%%x 

तो कमांड लाइन से परीक्षण, बजाय %%x%x लिए बदल जाते हैं।

संबंधित मुद्दे