दिलचस्प पोस्ट
कैसे पता लगाते हैं जब एक यूट्यूब वीडियो चलना खत्म हो जाए? लूप पायथन में सूची तत्वों को संशोधित नहीं किया जा सकता HTML टैग पर गैर-मानक विशेषताएँ अच्छी बात? बुरी बात? तुम्हारे विचार? एंड्रॉइड जेसोफ्ट उदाहरण मैं नोड। Js का उपयोग करने के लिए JSON को बहुत प्रिंट कैसे कर सकता / सकती हूं? मैं Durandal के साथ cshtml फ़ाइलों का उपयोग कैसे कर सकता हूँ? एचटीटीपीएलएटी के लिए एंड्रॉइड ऐप के लिए ओपनएसएसएल लाइब्रेरी बदलना रेगेक्स – क्या हाइफ़न बच जाएंगे? टैबकॉन्ट्रॉल से टैबपेज को कैसे छिपाएंगे वसंत सुरक्षा के साथ पकड़ने / सत्र का समय समाप्त बीएमपी फ़ाइल में पिक्सेल मान पढ़ें स्वच्छ सी + + दानेदार दोस्त समकक्ष? (उत्तर: अटार्नी-क्लाइंट मुहावरे) bash, एक सीएसवी फ़ाइल के एक स्तंभ निकालें फजी तिथि एल्गोरिथ्म जीवीएम में टैब क्लोज़ बटन को कैसे दिखाना है?

डॉस बैच में तार्किक ऑपरेटरों ("और", "या")

डॉस बैच फाइलों में आप लॉजिकल ऑपरेटर कैसे लागू करेंगे?

Solutions Collecting From Web of "डॉस बैच में तार्किक ऑपरेटरों ("और", "या")"

आप नेस्टेड शर्तों के साथ and कर सकते हैं:

 if %age% geq 2 ( if %age% leq 12 ( set class=child ) ) 

या:

 if %age% geq 2 if %age% leq 12 set class=child 

आप एक अलग चर के साथ or कर सकते हैं:

 set res=F if %hour% leq 6 set res=T if %hour% geq 22 set res=T if "%res%"=="T" ( set state=asleep ) 

IF स्टेटमेंट लॉजिकल ऑपरेटर्स ( AND और OR ) का समर्थन नहीं करता है, तो कैस्केडिंग IF स्टेटमेंट्स एक गठिया संयोजन बनाती हैं I

 IF Exist File1.Dat IF Exist File2.Dat GOTO FILE12_EXIST_LABEL 

अगर File1.Dat और File1.Dat मौजूद है, तो FILE12_EXIST_LABEL लेबल को FILE12_EXIST_LABEL

यह भी देखें: IF /?

डी मॉर्गन के कानून हमें केवल संयोजन ("और") और नकारात्मककरण ("NOT") का उपयोग करके तर्कसंगत समकक्षों में असमानता ("या") को परिवर्तित करने की अनुमति देते हैं। इसका मतलब है कि हम एक लाइन में चेन एक्सजंक्शन ("OR") कर सकते हैं

इसका अर्थ है कि अगर नाम "याको" या "वाकको" या "डॉट" है, तो "वार्नर भाई या बहन" को प्रतिध्वनित करें

 set warner=true if not "%name%"=="Yakko" if not "%name%"=="Wakko" if not "%name%"=="Dot" set warner=false if "%warner%"=="true" echo Warner brother or sister 

यह पक्सडिओब्लो के "या" उदाहरण का एक और संस्करण है, लेकिन शर्तों को एक पंक्ति में जंजीर दिया गया है (ध्यान दें कि geq के विपरीत geq है, और geq के विपरीत geq है।)

 set res=true if %hour% gtr 6 if %hour% lss 22 set res=false if "%res%"=="true" set state=asleep 

निम्न उदाहरण दिखाते हैं कि कैसे एक और कथन (चर का निर्धारण करने के लिए या कमांड के पैरामीटर को शामिल करने के लिए) बनाने के लिए।

सीएमडी खिड़की बंद करने और नोटपैड शुरू करने के लिए:

 exit & start notepad.exe 

वैरिएबल एक्स, वाई, और जेड को वैल्यू सेट करने के लिए यदि वेरिएबल 'ए' बराबर ब्लास

 if %a% equ blah set x=1 & set y=2 & set z=3 

उम्मीद है की वो मदद करदे!

इसके अलावा में कवर
"120} मैं IF स्टेटमेंट में और / या / एक्सओआर / ओओपी ऑपरेटरों का उपयोग कैसे करूं?"
http://www.netikka.net/tsneti/info/tscmd120.htm

या थोड़ा मुश्किल है, लेकिन अधिक नहीं तो यहाँ एक उदाहरण है

 set var1=%~1 set var2=%~2 :: set or_= if "%var1%"=="Stack" set or_=true if "%var2%"=="Overflow" set or_=true if defined or_ echo Stack OR Overflow 

निषेध अभियान की कोशिश करो – 'नहीं'!

ठीक है, यदि आप नेस्टेड 'अगर (पिछले उत्तरों का संदर्भ लें) का प्रयोग करते हुए' if स्टेटमेंट 'पर' एंड 'ऑपरेशन कर सकते हैं, तो आप एक' या 'ऑपरेशन करने के लिए' यदि नहीं 'के साथ ऐसा ही कर सकते हैं

यदि आपको इस विचार को अभी तक नहीं मिला है, तो पढ़ें। अन्यथा, अपना समय बर्बाद मत करो और प्रोग्रामिंग पर वापस जाएं।

जैसे ही नेस्टेड 'यदि केवल तभी संतुष्ट हो जाता है जब सभी स्थितियां सही हों, नेस्टेड' अगर न केवल तब संतुष्ट हो जब सभी स्थितियां झूठी हों। यह एक 'या' ऑपरेंड के साथ आप क्या करना चाहते हैं, है ना?

जब भी नेस्टेड 'यदि नहीं' में स्थितियों में से कोई भी सत्य है, तो पूरे बयान गैर-संतुष्ट है इसलिए, आप नकार लगा सकते हैं 'यदि उत्तराधिकार में यह याद रखे हुए है कि स्थिति बयान का शरीर होना चाहिए जो आप करना चाहते हैं यदि आपकी सभी नेस्टेड स्थितियाँ झूठी हैं जिस शरीर को आप वास्तव में देना चाहते थे वह अन्य कथन के तहत आना चाहिए।

और अगर आपको अभी भी चीज का आभास नहीं मिला है, माफी चाहता हूँ, मैं 16 साल का हूं और मैं समझाने के लिए सबसे अच्छा कर सकता हूं।

एक विकल्प एक यूनिक्स शेल को देखने के लिए है जो आपको तार्किक ऑपरेटरों और बहुत सारी चीज़ें प्रदान करता है। यदि आप साइगविन मार्ग नहीं जाना चाहते हैं, तो यहां एक बॉर्न शेल का एक देशी Win32 कार्यान्वयन प्राप्त कर सकते हैं। एक मूल विभाजन यहां पाया जा सकता है । मैं काफी निश्चित हूं कि आप आसानी से अन्य अच्छा विकल्प जैसे कि zsh या tcsh पर Google को आसानी से कर सकते हैं

कश्मीर

अथल प्रकाश (उस समय की उम्र 16) ने एक तर्कसंगत विचार दिया था कि IF स्टेटमेंट में शर्तों को नकार कर एक या परीक्षण को कैसे कार्यान्वित किया जाता है और उसके बाद एएलएसई खंड का प्रयोग करके उस कोड को डाल दिया जाता है जिसमें निष्पादन की आवश्यकता होती है। मैंने अपने आप से सोचा था कि हालांकि दो अन्य खंड आमतौर पर आवश्यक हैं क्योंकि वह दो IF स्टेटमेंट का प्रयोग करने का सुझाव दे रहा है, और इसलिए निष्पादित कोड को दो बार लिखा जाना चाहिए। हालांकि, यदि GOTO को आवश्यक कोड से पहले ही छोड़ने के लिए उपयोग किया जाता है, तो ELSE लिखने के बजाय निष्पादन के लिए कोड को केवल एक बार लिखे जाने की आवश्यकता है।

यहां एक उदाहरण है कि मैं कैसे अथल प्रकाश के नकारात्मक तर्क को लागू करने के लिए एक या ओआरएल को लागू करूंगा।

मेरे उदाहरण में, किसी को टैंक चलाने की अनुमति है अगर उनके पास टैंक लाइसेंस है या वे अपनी सैन्य सेवा कर रहे हैं दो संकेतों पर सही या गलत दर्ज करें और आप यह देख पाएंगे कि तर्क आपको टैंक चलाने की अनुमति देता है या नहीं।

 @ECHO OFF @SET /p tanklicence=tanklicence: @SET /p militaryservice=militaryservice: IF /I NOT %tanklicence%==true IF /I NOT %militaryservice%==true GOTO done ECHO I am driving a tank with tanklicence set to %tanklicence% and militaryservice set to %militaryservice% :done PAUSE 

यह निम्न के रूप में बस के रूप में आसान है:

और> अगर + अगर

 if "%VAR1%"=="VALUE" if "%VAR2%"=="VALUE" *do something* 

OR> यदि // यदि

 set BOTH=0 if "%VAR1%"=="VALUE" if "%VAR2%"=="VALUE" set BOTH=1 if "%BOTH%"=="0" if "%VAR1%"=="VALUE" *do something* if "%BOTH%"=="0" if "%VAR2%"=="VALUE" *do something* 

मुझे पता है कि अन्य उत्तर हैं, लेकिन मुझे लगता है कि मेरा अधिक सरल है, इसलिए समझने में अधिक आसान है। आशा है कि यह आपको मदद करता है! 😉

यदि आपको + AND / OR एक बयान में लिखना चाहते हैं, तो इसमें कोई भी नहीं है। लेकिन, if आप && / के साथ अभी भी समूह कर सकते हैं और ( / ) बयानों को प्राप्त करने के लिए कि आप एक पंक्ति में चाहते हैं w / o किसी भी अतिरिक्त चर और w / o if-else ब्लॉक अनुलिपि ( TRUE और FALSE वर्ग अनुभागों के लिए एकल echo कमांड):

 @echo off setlocal set "A=1" & set "B=2" & call :IF_AND set "A=1" & set "B=3" & call :IF_AND set "A=2" & set "B=2" & call :IF_AND set "A=2" & set "B=3" & call :IF_AND echo. set "A=1" & set "B=2" & call :IF_OR set "A=1" & set "B=3" & call :IF_OR set "A=2" & set "B=2" & call :IF_OR set "A=2" & set "B=3" & call :IF_OR exit /b 0 :IF_OR ( ( if %A% EQU 1 ( type nul>nul ) else type 2>nul ) || ( if %B% EQU 2 ( type nul>nul ) else type 2>nul ) || ( echo.FALSE-& type 2>nul ) ) && echo TRUE+ exit /b 0 :IF_AND ( ( if %A% EQU 1 ( type nul>nul ) else type 2>nul ) && ( if %B% EQU 2 ( type nul>nul ) else type 2>nul ) && echo.TRUE+ ) || echo.FALSE- exit /b 0 

आउटपुट :

 TRUE+ FALSE- FALSE- FALSE- TRUE+ TRUE+ TRUE+ FALSE- 

चाल type कमांड में होती है जो errorlevel / सेट करता है और इसलिए अगली कमांड के रास्ते को संभालता है

एंड्री के जवाब में थोड़ा बदलाव, डुप्लिकेट प्रकार के आदेशों को कम करना:

 set "A=1" & set "B=2" & call :IF_AND set "A=1" & set "B=3" & call :IF_AND set "A=2" & set "B=2" & call :IF_AND set "A=2" & set "B=3" & call :IF_AND echo. set "A=1" & set "B=2" & call :IF_OR set "A=1" & set "B=3" & call :IF_OR set "A=2" & set "B=2" & call :IF_OR set "A=2" & set "B=3" & call :IF_OR goto :eof :IF_OR (if /i not %A% EQU 1 ( if /i not %B% EQU 2 ( echo FALSE- type 2>nul ) )) && echo TRUE+ goto :eof :IF_AND (if /i %A% EQU 1 ( if /i %B% EQU 2 ( echo TRUE+ type 2>nul ) )) && echo FALSE- goto :eof