क्या आईएफ कथन के माध्यम से या पास करने का कोई तरीका है?एक आईएफ कथन में एक OR का उपयोग करना WinXP बैच स्क्रिप्ट
जैसे:
SET var=two
IF "%var%"=="one" OR "two" OR "three" ECHO The number is between zero and four.
क्या आईएफ कथन के माध्यम से या पास करने का कोई तरीका है?एक आईएफ कथन में एक OR का उपयोग करना WinXP बैच स्क्रिप्ट
जैसे:
SET var=two
IF "%var%"=="one" OR "two" OR "three" ECHO The number is between zero and four.
सं
if "%var%"=="one" goto foo
if "%var%"=="two" goto foo
if "%var%"=="three" goto foo
goto afterfoo
:foo
echo The number is between one and three (technically incorrect, since it includes the end points and thus is not between).
:afterfoo
आप एक अधिक संरचित दृष्टिकोण की जरूरत है:
if "%var%"=="one" set OneToThree=1
if "%var%"=="two" set OneToThree=1
if "%var%"=="three" set OneToThree=1
if defined OneToThree (
echo Foo
) else (
rem something
)
figured = (। मैं इसे यादृच्छिक^और | के साथ इसे चालित करने की कोशिश करते समय थोड़ी देर के लिए गड़बड़ कर रहा था। लेकिन कोई भाग्य नहीं है – Mechaflash
आप इस दृष्टिकोण का भी उपयोग कर सकते हैं: %% एक (एक दो तीन) के लिए "% var% "==" %% ए "गोटो फू – Aacini
खेल में देर से थोड़ा, लेकिन फिर भी यह करता है, तो यह सोचते हैं किसी को भी सवाल पर ठोकर खा सकता है। ,
(echo ":one: :two: :three:" | findstr /i ":%var%:" 1>nul 2>nul) && (
echo The number is between zero and four
)
findstr बाद एक बाहरी कमांड है मैं एक पाश जो पुनरावृत्तियों के 1000 के माध्यम से जा सकते हैं अंदर यह प्रयोग नहीं कर सुझाव देते हैं: जिस तरह से मैं यह कर इस तरह से उपयोग कर रहा है गूंज का एक संयोजन findstr को पहुंचाया। यदि ऐसा नहीं है, तो यह एकाधिक Is का उपयोग करने के बजाय आप जो करने का प्रयास कर रहे हैं उसे हल करना चाहिए। इसके अलावा, ":" की पसंद में कुछ खास नहीं है, बस एक डिलीमीटर का उपयोग करें जो var चर में मान का हिस्सा होने की संभावना नहीं है।
अन्य लोगों को धन्यवाद, जो कि एक ही लिंक के समान इंगित करने के लिए धन्यवाद, मैं इस प्रतिक्रिया को भी पोस्ट कर दूंगा, अगर कोई उस प्रश्न पर ठोकर खाए और यहां तक कि यहां तक पहुंच न जाए।
ओओएस संपादन जॉय के लिए धन्यवाद। – Mechaflash