1) क्या कोई अंतर्निहित है जो मुझे बता सकता है कि किसी चर की सामग्री में केवल अपरकेस अक्षर हैं?2 बैच स्ट्रिंग प्रश्न
2) क्या कोई चर है जिसमें एक चर शामिल है या नहीं? उदाहरण के लिए, मैं देखना चाहता हूं कि परिवर्तनीय% PATH% में रूबी है या नहीं।
1) क्या कोई अंतर्निहित है जो मुझे बता सकता है कि किसी चर की सामग्री में केवल अपरकेस अक्षर हैं?2 बैच स्ट्रिंग प्रश्न
2) क्या कोई चर है जिसमें एक चर शामिल है या नहीं? उदाहरण के लिए, मैं देखना चाहता हूं कि परिवर्तनीय% PATH% में रूबी है या नहीं।
भाग 1 के लिए, findstr
उत्तर है।
> set xxokay=ABC
> set xxbad=AB1C
> echo %xxokay%|findstr /r "^[A-Z]*$" >nul:
> echo %errorlevel%
0
> echo %xxbad%|findstr /r "^[A-Z]*$" >nul:
> echo %errorlevel%
1
यह, इस मामले कि आप नहींecho %xxokay%
और पाइप चरित्र |
के बीच एक रिक्ति है में महत्वपूर्ण है के बाद से है कि एक अंतरिक्ष उत्पादन किया जा रहा में परिणाम होगा: तुम बस errorlevel
के साथ regex सुविधा का उपयोग कर सकते हैं जो आपके स्वीकार्य पात्रों में से एक नहीं है।
भाग 2 के लिए, findstr
भी जवाब है (/i
है मामले में जो हो सकता है कि आप क्या चाहते उपेक्षा - इसे बंद कर छोड़ अगर मामले से मेल खाना चाहिए):
> set xxruby=somewhere;c:\ruby;somewhere_else
> set xxnoruby=somewhere;somewhere_else
> echo %xxruby%|findstr /i ruby >nul:
> echo %errorlevel%
0
> echo %xxnoruby%|findstr /i ruby >nul:
> echo %errorlevel%
1
फिर आप उपयोग कर सकते हैं:
if %errorlevel%==1 goto :label
दोनों मामलों में आपकी स्क्रिप्ट के व्यवहार को बदलने के लिए। यह एक बैच समाधान (cmd.exe) नहीं है, लेकिन एक आसान विकल्प VBScript का उपयोग कर, जो डिफ़ॉल्ट रूप से पहले से ही है
:ruby_check
echo %yourvar%|findstr /i ruby >nul:
if %errorlevel%==1 goto :ruby_check_not_found
:ruby_check_found
:: ruby was found
goto :ruby_check_end
:ruby_check_not_found:
:: ruby was NOT found
:ruby_check_end
:
उदाहरण के लिए, माणिक जांच करने के लिए कोड खंड की तरह कुछ हो सकता है आपके सिस्टम पर स्थापित
Set objArgs = WScript.Arguments
var=objArgs(0)
check=var
If check=UCase(var) Then
WScript.Echo "String contains all uppercase"
Else
WScript.Echo "String doesn't contain all uppercase"
End If
' to check string contains substring
mystring="This is my ruby string"
check="ruby"
If InStr(mystring,check)>0 Then
WScript.Echo "string contains ruby"
End If
myscript.vbs
के रूप में फ़ाइल को बचाने और इस
C:\test>cscript //nologo myscript.vbs abC
String doesn't contain all uppercase
string contains ruby
C:\test>cscript //nologo myscript.vbs ABCD
String contains all uppercase
string contains ruby
बैच (cmd.exe) स्ट्रिंग हेरफेर के लिए का उपयोग कर की तरह इसे चलाने के आखिरी बात आप, क्या करने के लिए जब तक आप पूरी तरह से प्रतिबंधित कर रहे हैं चाहते हो जाएगा है। अन्यथा, नौकरी के लिए अधिक उपयुक्त उपकरण का उपयोग करें।