IF ... OR IF ... एक विंडोज़ बैच फ़ाइल में


97

क्या विंडोज़ बैच-फ़ाइल में IF या IF सशर्त विवरण लिखने का कोई तरीका है?

उदाहरण के लिए:

IF [%var%] == [1] OR IF [%var%] == [2] ECHO TRUE

7
नहीं। क्या संभव है कि सीधे एक और लिखें IF [%var%]==[1] IF [%var2%]==[2] ECHO BOTH ARE TRUE:। मैं परिभाषित करता था SET AND=IFऔर फिर लिखता था IF cond1 %AND% cond2 ECHO BOTH ARE TRUE:।
अंकिनी

जवाबों:


95

ज़ंबूक समाधान अच्छा है, लेकिन सभी स्थितियों में उपयोग नहीं किया जा सकता है, जैसे कि FOR DO (...) लूप जैसे कोड के ब्लॉक के अंदर।

एक विकल्प एक संकेतक चर का उपयोग करना है। इसे अपरिभाषित करने के लिए प्रारंभ करें, और फिर इसे केवल तभी परिभाषित करें जब OR में से कोई भी एक सत्य हो। उसके बाद IF DEFINED का उपयोग अंतिम परीक्षण के रूप में करें - विलंबित विस्तार का उपयोग करने की कोई आवश्यकता नहीं है।

FOR ..... DO (
  set "TRUE="
  IF cond1 set TRUE=1
  IF cond2 set TRUE=1
  IF defined TRUE (
    ...
  ) else (
    ...
  )
)

आप ELSE IF तर्क जोड़ सकते हैं जो कि arasmussen इस आधार पर उपयोग करता है कि यह 1 की स्थिति सच होने पर तेजी से मूत सकता है, लेकिन मैं कभी परेशान नहीं होता।

परिशिष्ट - यह एक IF स्टेटमेंट WinXP बैच स्क्रिप्ट में OR का उपयोग करने के लगभग समान उत्तरों के साथ एक डुप्लिकेट प्रश्न है

अंतिम परिशिष्ट - मैं परीक्षण करने के लिए अपनी पसंदीदा तकनीक को लगभग भूल गया अगर एक चर मामले की असंवेदनशील मूल्यों की सूची में से कोई एक है। स्वीकार्य मानों की सीमांकित सूची वाले परीक्षण चर को आरम्भ करें, और फिर खोज का उपयोग करके परीक्षण करें कि आपका चर सूची के भीतर है या नहीं। यह बहुत तेज़ है और मनमाने ढंग से लंबी सूची के लिए न्यूनतम कोड का उपयोग करता है। इसमें विलंबित विस्तार की आवश्यकता होती है (या फिर कॉल%% VAR %% चाल)। साथ ही परीक्षण CASE INSENSITIVE है।

set "TEST=;val1;val2;val3;val4;val5;"
if "!TEST:;%VAR%;=!" neq "!TEST!" (echo true) else (echo false)

यदि VAR सम्‍मिलित है =, तो उपरोक्त विफल हो सकता है , इसलिए परीक्षण मूर्खतापूर्ण नहीं है।

यदि किसी ब्लॉक के भीतर परीक्षण करना जहां VAR के वर्तमान मूल्य तक पहुंचने के लिए विलंबित विस्तार की आवश्यकता होती है

for ... do (
  set "TEST=;val1;val2;val3;val4;val5;"
  for /f %%A in (";!VAR!;") do if "!TEST:%%A=!" neq "!TEST!" (echo true) else (echo false)
)

VAR के भीतर अपेक्षित मूल्यों के आधार पर "delims =" जैसे विकल्पों की आवश्यकता हो सकती है

उपरोक्त रणनीति को =थोड़ा और कोड जोड़कर VAR में भी विश्वसनीय बनाया जा सकता है ।

set "TEST=;val1;val2;val3;val4;val5;"
if "!TEST:;%VAR%;=!" neq "!TEST!" if "!TEST:;%VAR%;=;%VAR%;"=="!TEST!" echo true

लेकिन अब हम ईएलएसई खंड प्रदान करने की क्षमता खो चुके हैं जब तक कि हम एक संकेतक चर नहीं जोड़ते। कोड थोड़ा "बदसूरत" दिखना शुरू हो गया है, लेकिन मुझे लगता है कि यह परीक्षण के लिए सबसे अच्छा प्रदर्शन करने वाला विश्वसनीय तरीका है अगर VAR केस-असंवेदनशील विकल्पों में से किसी एक की मनमानी संख्या है।

अंत में एक सरल संस्करण है जो मुझे लगता है कि थोड़ा धीमा है क्योंकि यह प्रत्येक मान के लिए एक IF प्रदर्शन करना होगा। Aacini ने पहले दिए गए लिंक में स्वीकृत उत्तर के लिए एक टिप्पणी में यह समाधान प्रदान किया

for %%A in ("val1" "val2" "val3" "val4" "val5") do if "%VAR%"==%%A echo true

मूल्यों की सूची में * या शामिल नहीं हो सकता है? वर्ण, और मान और %VAR%उद्धरण शामिल नहीं होने चाहिए। उद्धरण समस्याओं की ओर ले जाता है अगर %VAR%इसमें रिक्त स्थान या विशेष वर्ण भी शामिल हैं ^, &आदि। इस समाधान के साथ एक अन्य सीमा यह है कि यह एक ELSE खंड के लिए विकल्प प्रदान नहीं करता है जब तक कि आप एक संकेतक चर नहीं जोड़ते हैं। लाभ यह है कि आईएफ /Iविकल्प की उपस्थिति या अनुपस्थिति के आधार पर यह संवेदनशील या असंवेदनशील हो सकता है ।


दुर्भाग्य से उन मानों के साथ काम नहीं करेंगे जिनमें फ़ाइल मिलान शब्दार्थ के कारण %% A IN (-! -H -pp) जैसे प्रश्न चिह्न शामिल हैं।
किलरॉय

@ किलरॉय - हां, मैंने जवाब में पहले ही उस सीमा को नोट कर लिया था। लेकिन आपकी टिप्पणी ने मुझे जवाब को देखने के लिए मजबूर किया और महसूस किया कि फॉर सॉल्यूशन के साथ अतिरिक्त सीमाएं हैं। मैंने उत्तर के अंत को थोड़ा अपडेट किया है।
डेबनहम

एक विकल्प होने के लिए गूंज नहीं होगा?
स्क्वाशमैन

@ शक्शमैन - उह, हां, अगर आप सभी FINDSTR बग और क्विर्क को नेविगेट करना चाहते हैं।
डेबनहम

उत्तर गलत है। Aacini के लिए जिम्मेदार आदेश उद्धृत के रूप में विफल रहता है, लेकिन अगर निम्नानुसार संपादित किया जाता है तो काम करता है: %% A में ("val1" "val2" "val3") के लिए यदि "% VAR%" == %% एक प्रतिध्वनि सच है
Ed999

54

मुझे ऐसा नहीं लगता। बस दो आईएफएस और एक ही लेबल का उपयोग करें:

IF cond1 GOTO foundit
IF cond2 GOTO foundit

ECHO Didn't found it
GOTO end

:foundit
ECHO Found it!

:end

हाँ जहाँ तक मैं बता सकता हूँ कि वे दो ही एकमात्र विकल्प हैं।
मकफलाश

1
= D मैं वास्तव में अपनी सभी लिपियों को अधिकारपूर्वक सीखने और अपनाने की प्रक्रिया में हूँ। लेकिन बस एक छोटी सी बग को एक बैच स्क्रिप्ट को ठीक करने की आवश्यकता थी और यह जानना चाहता था कि क्या यह संभव है। जब यह कोड lol को साफ करने की बात आती है, तो मैं picky हूँ
मेकफ्लैश

1
कई स्थितियों में CALL GOTO के लिए बेहतर हो सकता है, हालाँकि यह केवल तभी काम करता है जब आपको ELSE क्लॉज़ की आवश्यकता न हो।
हैरी जॉन्सटन

@HarryJohnston यह इस बात पर निर्भर करता है कि क्या यह सिर्फ एक टॉप-डाउन प्रोग्राम / स्क्रिप्ट है या यदि इसकी संरचना को चलाने के लिए जैसे कि कार्य स्क्रिप्टिंग में मौजूद है = /। उनके उदाहरण में, GOTO सही होगा अन्यथा आप ECHO Didn't find itइसे ढूंढने पर भी इसे मारेंगे।
मचाफलाश

बल्लेबाज या संचालक को समर्थन देना कितना मुश्किल है? इसे 2019 में लागू नहीं किया गया है।
जोक हुआंग

8

इस पोस्ट के लिए धन्यवाद, इसने मेरी बहुत मदद की।

डननो अगर यह मदद कर सकता है, लेकिन मेरे पास मुद्दा था और आपके लिए धन्यवाद, मैंने पाया कि मुझे लगता है कि इस बूलियन तुल्यता के आधार पर इसे हल करने का एक और तरीका है:

"ए या बी" "नहीं (ए और बी नहीं)" के समान है।

इस प्रकार:

IF [%var%] == [1] OR IF [%var%] == [2] ECHO TRUE

हो जाता है:

IF not [%var%] == [1] IF not [%var%] == [2] ECHO FALSE

लेकिन यह केवल FALSE (ELSE) शाखा प्रदान करता है यदि न तो सच है। ओपी TRUE शाखा चाहता है यदि या तो सच है।
डेबनहम

8

एक "या" स्थिति का उपयोग करने के लिए एक सरल "फॉर" का उपयोग एक पंक्ति में किया जा सकता है:

FOR %%a in (item1 item2 ...) DO IF {condition_involving_%%a} {execute_command}  

आपके मामले में लागू:

FOR %%a in (1 2) DO IF %var%==%%a ECHO TRUE

मैंने अपनी बैच स्क्रिप्ट में केस का उपयोग करने के लिए इसे सबसे सीधा और सरल पाया। यह कैसे आया यह अनुशंसित उत्तर के रूप में कभी नहीं बना?
myusrn

धन्यवाद। मुझे नहीं पता, सामान्य रूप से upvoting एक बहुत ही अजीब प्रक्रिया है (और संदिग्ध?), न केवल स्टैकवॉयरफ़्लो में बल्कि अन्य मंचों में भी। लेकिन इस मामले में, मुझे लगता है कि यह समय है। प्रश्न काफी पुराना है और मेरा उत्तर हाल ही में आया है। वैसे भी, हमें खुश होना चाहिए जब हम कोई जवाब पा सकते हैं जो काम करता है। :)
अपोस्टोलोस

इस तकनीक के साथ एक संभावित कमी (हालांकि मुझे दृष्टिकोण के आउट-ऑफ-द-बॉक्सनेस पसंद है!) यह है कि शर्त के आधार पर , दो बार कमांड निष्पादित करना संभव हो सकता है, जो संभव नहीं है।
ट्रिपहाउंड

सैद्धांतिक रूप से, हाँ। लेकिन मैंने सैकड़ों बैच फाइलें बनाई हैं, मैं उनमें से हर रोज दर्जनों का उपयोग करता हूं और मैं इस तरह के मामले से कभी नहीं मिला। तो चलिए अभ्यास में बने रहें! :)
अपोस्टोलोस

6

भले ही यह सवाल थोड़ा पुराना हो:

यदि आप उपयोग करना चाहते हैं if cond1 or cond 2 - तो आपको जटिल लूप या सामान का उपयोग नहीं करना चाहिए।

सरल दोनों ifsएक दूसरे के साथ संयुक्त प्रदान करते हैं goto- यह एक अंतर्निहित या है।

//thats an implicit IF cond1 OR cond2 OR cond3
if cond1 GOTO doit
if cond2 GOTO doit
if cond3 GOTO doit

//thats our else.
GOTO end

:doit
  echo "doing it"

:end

गोटो के बिना लेकिन "इनहेल्ड" एक्शन होने पर, आप एक्शन को 3 बार निष्पादित कर सकते हैं, यदि सभी स्थितियाँ मेल खा रही हों।


बस यह जवाब पहले ही प्रदान किया गया है। कस्तूरी की देखरेख है।
16

2

कोई है IF <arg> ORया ELIFया ELSE IFबैच में, फिर भी ...

पिछले IF के ELSE के अंदर अन्य IF के घोंसले के शिकार की कोशिश करें।

IF <arg> (
    ....
) ELSE (
    IF <arg> (
        ......
    ) ELSE (
        IF <arg> (
            ....
        ) ELSE (
    )
)

3
यह OR का अच्छा कार्यान्वयन नहीं है क्योंकि निष्पादित किए जाने वाले सशर्त कोड को प्रत्येक ELSE IF के लिए दोहराया जाना चाहिए। (जब तक कि सशर्त कोड एक GOTO न हो, उस स्थिति में आपके पास zqq के घोल का अधिक वर्बोज़ रूप होता है।)
dbenham

2

किसी फ़ंक्शन का उपयोग करना संभव है, जो OR लॉजिक का मूल्यांकन करता है और एकल मान लौटाता है।

@echo off
set var1=3
set var2=5
call :logic_or orResult "'%var1%'=='4'" "'%var2%'=='5'"
if %orResult%==1 ( 
    echo At least one expression is true
) ELSE echo All expressions are false
exit /b

:logic_or <resultVar> expression1 [[expr2] ... expr-n] 
SETLOCAL
set "logic_or.result=0"
set "logic_or.resultVar=%~1"

:logic_or_loop 
if "%~2"=="" goto :logic_or_end 
if %~2 set "logic_or.result=1"
SHIFT 
goto :logic_or_loop 

:logic_or_end 
( 
  ENDLOCAL 
  set "%logic_or.resultVar%=%logic_or.result%"
  exit /b
) 

+1, यह फ़ंक्शन ERRORLEVEL रिटर्न कोड में परिणाम वापस करने के लिए एक अच्छा उम्मीदवार है। फिर कॉल && ... || ...अतिरिक्त IF ... ELSE ...कथन के बजाय सीधे सुविधाजनक सिंटैक्स का उपयोग कर सकता है ।
debhamham

2

परोक्ष रूप से IFs का उपयोग करके लक्ष्य प्राप्त किया जा सकता है।

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

के बीच कोड ब्लॉक () कोष्ठक सीएमडी द्वारा एक (दयनीय) प्रकार के उपधारा के रूप में संभाला जाता है। ब्लॉक से बाहर आने वाला जो भी कोड होता है, उसका उपयोग सही / गलत मूल्य निर्धारित करने के लिए किया जाएगा, जो ब्लॉक बूलियन अभिव्यक्ति में निभाता है। इन कोड ब्लॉक के साथ बहुत बड़े बूलियन एक्सप्रेशन बनाए जा सकते हैं।

सरल उदाहरण है

प्रत्येक ब्लॉक को सही (यानी ERRORLEVEL = 0 के बाद ब्लॉक में अंतिम विवरण निष्पादित होने के बाद) हल किया गया है / गलत है, जब तक कि पूरे एक्सप्रेशन का मूल्य निर्धारित नहीं किया गया है या जंप आउट को नियंत्रित नहीं करता है (जैसे GOTO के माध्यम से):

 ((DIR c:\xsgdde /w) || (DIR c:\ /w)) && (ECHO -=BINGO=-)

जटिल उदाहरण

यह समस्या को शुरू में हल करता है। प्रत्येक ब्लॉक में कई कथन संभव हैं लेकिन || || || अभिव्यक्ति यह संक्षिप्त करने के लिए बेहतर है ताकि यह यथासंभव पठनीय हो। ^ सीएमडी बैचों में एक एस्केप चार है और जब एक पंक्ति के अंत में रखा जाता है तो यह ईओएल से बच जाएगा और सीएमडी को अगली पंक्ति के बयानों के वर्तमान बैच को पढ़ना जारी रखने का निर्देश देगा।

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

(
    (CALL :ProcedureType1 a b) ^
        || (CALL :ProcedureType2 sgd) ^
            || (CALL :ProcedureType1 c c)
) ^
    && (
        ECHO -=BINGO=-
        GOTO :EOF
    )
ECHO -=no bingo for you=-
GOTO :EOF

:ProcedureType1
    IF "%~1" == "%~2" (EXIT /B 0) ELSE (EXIT /B 1)
GOTO :EOF (this line is decorative as it's never reached)

:ProcedureType2
    ECHO :ax:xa:xx:aa:|FINDSTR /I /L /C:":%~1:">nul
GOTO :EOF

1
If %x%==1 (
If %y%==1 (
:: both are equal to 1.
)
)

यह जाँचने के लिए है कि क्या एकाधिक चर समान मूल्य हैं। यहाँ या तो परिवर्तनशील है।

If %x%==1 (
:: true
)
If %x%==0 (
If %y%==1 (
:: true
)
)
If %x%==0 (
If %y%==0 (
:: False
)
)

मैं बस के बारे में सोचा था कि शीर्ष अगर मेरे सिर। मैं इसे और अधिक कॉम्पैक्ट कर सकता था।


1

मुझे एहसास है कि यह प्रश्न पुराना है, लेकिन मैं किसी और के मामले में (जैसे खुद के) वैकल्पिक समाधान पोस्ट करना चाहता था, जबकि एक ही प्रश्न था। मैं वैरिएबल की गूंज और मान्य करने के लिए खोज का उपयोग करके OR ऑपरेटर की कमी के आसपास काम करने में सक्षम था।

for /f %%v in ('echo %var% ^| findstr /x /c:"1" /c:"2"') do (
    if %errorlevel% equ 0 echo true
)

1

जबकि dbenham का उत्तर बहुत अच्छा है, पर भरोसा IF DEFINEDकरना आपको मुसीबत के भार में प्राप्त कर सकता है यदि आप जिस चर की जाँच कर रहे हैं वह पर्यावरण नहीं है चर नहीं है। स्क्रिप्ट चर को यह विशेष उपचार नहीं मिलता है।

इस जबकि कुछ ऊटपटांग अप्रलेखित बी एस की तरह लग सकता है, का एक सरल खोल क्वेरी कर IFके साथ IF /?पता चलता है कि,

परिभाषित सशर्त सिर्फ एक्स्टिस्ट की तरह काम करता है सिवाय इसके कि यह एक पर्यावरण चर नाम लेता है और अगर पर्यावरण चर को परिभाषित करता है तो यह सही है।

इस सवाल का जवाब देने के संबंध में, क्या मूल्यांकन की एक श्रृंखला के बाद एक साधारण ध्वज का उपयोग न करने का एक कारण है? ORअंतर्निहित तर्क और पठनीयता के संबंध में यह मेरे लिए सबसे अधिक लचीली जाँच है। उदाहरण के लिए:

Set Evaluated_True=false

IF %condition_1%==true (Set Evaluated_True=true)
IF %some_string%=="desired result" (Set Evaluated_True=true)
IF %set_numerical_variable% EQ %desired_numerical_value% (Set Evaluated_True=true)

IF %Evaluated_True%==true (echo This is where you do your passing logic) ELSE (echo This is where you do your failing logic)

जाहिर है, वे सशर्त मूल्यांकन के किसी भी प्रकार हो सकते हैं, लेकिन मैं सिर्फ कुछ उदाहरण साझा कर रहा हूं।

यदि आप इसे एक पंक्ति में, लिखित-वार करना चाहते हैं, तो आप इन्हें एक साथ जोड़ सकते &&हैं:

Set Evaluated_True=false

IF %condition_1%==true (Set Evaluated_True=true) && IF %some_string%=="desired result" (Set Evaluated_True=true) && IF %set_numerical_variable% EQ %desired_numerical_value% (Set Evaluated_True=true)

IF %Evaluated_True%==true (echo This is where you do your passing logic) ELSE (echo This is where you do your failing logic)

0

काम करने के लिए कभी नहीं मिला।

अगर g: xyz / what goto h: Else xcopy c: current / files g: bu / current मौजूद है तो मैं इसका उपयोग करता हूं, इसमें कोई बदलाव नहीं है। दुकान में लैपटॉप। और ऑफिस में कंप्यूटर। मैं वहाँ नहीं हूँ।

Windows XP के ऊपर काम करने के लिए कभी भी बैच फाइलें नहीं मिलीं


जैसा कि आपके उदाहरण में लिखा है, "यदि मौजूद नहीं है g: xyz / what", xyz / जो कि g: ड्राइव का वर्तमान निर्देशिका के सापेक्ष है, जो कि g का रूट फ़ोल्डर नहीं हो सकता है। क्या आपको यहाँ "g: \ xyz \" की आवश्यकता है? सी के साथ भी: वर्तमान / फ़ाइलें और जी: बू / वर्तमान। ध्यान दें कि प्रत्येक ड्राइव में एक अलग वर्तमान फ़ोल्डर है, और यह "याद" है, भले ही वह ड्राइव आपके वर्तमान कार्यशील निर्देशिका न हो।
जॉन एलियन

0

एक अधिक तेज़ विकल्प जो मैं आमतौर पर उपयोग करता हूं, वह इस प्रकार है, जैसा कि मैं कर सकता हूं "या" एक अनियंत्रित संख्या में स्थितियां जो चर अंतरिक्ष में फिट हो सकती हैं

@(
  Echo off
  Set "_Match= 1 2 3 "
)

Set /a "var=3"

Echo:%_Match%|Find " %var% ">nul || (
  REM Code for a false condition goes here
) && (
  REM code for a true condition goes here.
)

-3

यह एहसास एक पुराने सवाल का एक सा है, प्रतिक्रियाओं मुझे एक बैच फ़ाइल के लिए कमांड लाइन तर्कों का परीक्षण करने के लिए एक समाधान के साथ आने में मदद की; इसलिए मैं अपने समाधान को पोस्ट करना चाहता था और साथ ही साथ कोई और भी इसी तरह के समाधान की तलाश में था।

पहली बात जो मुझे इंगित करनी चाहिए वह यह है कि मुझे IF ... ELSE स्टेटमेंट्स के लिए काम करना मुश्किल हो रहा था। बाहर निकलता है (अपने उदाहरणों में अनजाने में इसका उल्लेख करने के लिए डेंभम के लिए धन्यवाद) ईएलएसई का बयान समापन परियों से अलग लाइन पर नहीं हो सकता है।

इसलिए इसके बजाय:

FOR ... DO (
    IF ... (
    )
    ELSE (
    )
)

पठनीयता और सौंदर्य कारणों से मेरी प्राथमिकता क्या है, आपको यह करना होगा:

FOR ... DO (
    IF ... (
    ) ELSE (
    )
)

अब ELSE स्टेटमेंट एक गैर-मान्यताप्राप्त कमांड के रूप में वापस नहीं आता है।

अंत में, यहाँ मैं क्या करने का प्रयास कर रहा था - मैं किसी भी क्रम में बैच फ़ाइल में कई तर्कों को पारित करने में सक्षम होना चाहता था, मामले को अनदेखा कर रहा था, और अपरिभाषित तर्कों पर रिपोर्टिंग / असफल रहा। तो यहाँ मेरा समाधान है ...

@ECHO OFF
SET ARG1=FALSE
SET ARG2=FALSE
SET ARG3=FALSE
SET ARG4=FALSE
SET ARGS=(arg1 Arg1 ARG1 arg2 Arg2 ARG2 arg3 Arg3 ARG3)
SET ARG=

FOR %%A IN (%*) DO (
    SET TRUE=
    FOR %%B in %ARGS% DO (
        IF [%%A] == [%%B] SET TRUE=1
        )
    IF DEFINED TRUE (
        SET %%A=TRUE
        ) ELSE (
        SET ARG=%%A
        GOTO UNDEFINED
        )
    )

ECHO %ARG1%
ECHO %ARG2%
ECHO %ARG3%
ECHO %ARG4%
GOTO END

:UNDEFINED
ECHO "%ARG%" is not an acceptable argument.
GOTO END

:END

ध्यान दें, यह केवल पहले विफल तर्क पर रिपोर्ट करेगा। इसलिए यदि उपयोगकर्ता एक से अधिक अस्वीकार्य तर्क से गुजरता है, तो उन्हें केवल पहले के बारे में बताया जाएगा जब तक कि इसे ठीक नहीं किया जाता है, फिर दूसरा, आदि।


-1 इस सवाल का synt आईएफ सिंटेक्स इन फॉर लूप ’से कोई लेना-देना नहीं था और न ही तर्क को ठीक से कैसे पास किया जाए, लेकिन एक इफ .. या .. अगर एक बैच फ़ाइल में बयान करने का तरीका खोजने के साथ क्या करना था।
मचाफलेश

1
काफी उचित। लगता है कि मैं अपने स्वयं के प्रश्न का उत्तर दे रहा था कि इन उत्तरों ने ओपी के मूल प्रश्न का उत्तर देने के लिए सावधान रहने के बजाय मेरी मदद की। भविष्य में अधिक सावधान रहेंगे। धन्यवाद मफलफश! -R
RMWChaos

1
यदि आपके पास प्रकृति में समान प्रश्न है, तो उस प्रश्न को अपने आप हल कर लें, और स्टैकओवरफ़्लो पर कोई प्रश्न पोस्ट नहीं किया गया है जो आपके स्वयं के समान है, आप इसे एक प्रश्न के रूप में प्रस्तुत कर सकते हैं और इसे स्वयं जवाब देने के लिए बॉक्स की जांच कर सकते हैं। इस तरह यह साइट पर होगा और लोग इसका जवाब भी दे सकते हैं।
मचाफलेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.