common.skill

কন্ডিশনাল স্টেটমেন্ট (Conditional Statements)

Microsoft Technologies - ব্যাচ স্ক্রিপ্ট (Batch Script)
228
228

Batch script-এ কন্ডিশনাল স্টেটমেন্ট ব্যবহৃত হয় একটি শর্তের ভিত্তিতে আলাদা আলাদা কোড ব্লক এক্সিকিউট করার জন্য। এর মাধ্যমে স্ক্রিপ্টে বিভিন্ন লজিক্যাল শর্ত ব্যবহার করে কোডের কার্যক্রম নিয়ন্ত্রণ করা যায়। IF এবং IF NOT স্টেটমেন্ট সবচেয়ে সাধারণ কন্ডিশনাল কমান্ড। এছাড়াও, Nested IF, ErrorLevel এবং Exit Code নিয়ে কাজ করার কৌশলও এখানে আলোচনা করা হবে।

1. IF এবং IF NOT কন্ডিশন

IF কমান্ডটি একটি শর্ত যাচাই করে, এবং যদি শর্তটি সত্য (true) হয়, তবে নির্দিষ্ট কোড ব্লক এক্সিকিউট করে। IF NOT কমান্ডটি শর্তটি মিথ্যা (false) হলে কোড এক্সিকিউট করে।

  • ব্যবহার:

    IF condition (
        command
    )
    

    উদাহরণ:

    IF EXIST C:\Users\Documents\file.txt (
        echo File exists
    )
    

    এখানে যদি C:\Users\Documents\file.txt ফাইলটি থাকে, তবে "File exists" মেসেজ প্রিন্ট হবে।

  • IF NOT উদাহরণ:

    IF NOT EXIST C:\Users\Documents\file.txt (
        echo File does not exist
    )
    

    এখানে যদি file.txt ফাইলটি না থাকে, তবে "File does not exist" মেসেজ প্রিন্ট হবে।

2. String এবং Numeric কন্ডিশন চেক করা

IF কমান্ডটি স্ট্রিং এবং নিউমেরিক্যাল (সংখ্যাত্মক) শর্ত যাচাই করার জন্য ব্যবহার করা যায়। স্ট্রিং এবং সংখ্যা যাচাই করার জন্য বিশেষ সিঙ্কট্যাক্স আছে।

  • স্ট্রিং কম্পারিজন:

    IF "hello" == "hello" (
        echo Strings match
    )
    

    এটি স্ট্রিং ম্যাচ হলে "Strings match" প্রিন্ট করবে।

    স্ট্রিং নট কম্পারিজন:

    IF NOT "hello" == "world" (
        echo Strings do not match
    )
    
  • নিউমেরিক্যাল কম্পারিজন: Batch script-এ সংখ্যা তুলনা করতে LSS, LEQ, GTR, GEQ, EQU ইত্যাদি অপারেটর ব্যবহার করা হয়।

    • LSS: Less than (ছোট)
    • LEQ: Less than or equal (ছোট অথবা সমান)
    • GTR: Greater than (বড়)
    • GEQ: Greater than or equal (বড় অথবা সমান)
    • EQU: Equal (সমান)

    উদাহরণ:

    SET num=5
    IF %num% GTR 3 (
        echo Number is greater than 3
    )
    

    এখানে %num% ভেরিয়েবলটি ৩ এর বেশি হলে "Number is greater than 3" প্রিন্ট হবে।

3. Nested IF স্টেটমেন্ট

IF স্টেটমেন্টের মধ্যে আরেকটি IF স্টেটমেন্ট ব্যবহার করা হয়, যা Nested IF নামে পরিচিত। এটি আরও জটিল শর্তাবলীর জন্য ব্যবহৃত হয়।

  • ব্যবহার:

    IF condition1 (
        IF condition2 (
            command1
        )
        ELSE (
            command2
        )
    )
    

    উদাহরণ:

    SET num=10
    IF %num% GTR 5 (
        IF %num% LSS 20 (
            echo Number is greater than 5 but less than 20
        )
    )
    

    এখানে প্রথম শর্তটি (Greater than 5) সঠিক হলে, দ্বিতীয় শর্ত (Less than 20) পরীক্ষা করা হবে।

4. ErrorLevel এবং Exit Code নিয়ে কাজ করা

ErrorLevel বা Exit Code একটি প্রোগ্রাম বা কমান্ডের শেষ অবস্থাকে নির্দেশ করে। এই কোডটি IF স্টেটমেন্টে ব্যবহার করে শর্ত যাচাই করা হয়।

  • ব্যবহার:

    command
    IF %ERRORLEVEL% EQU 0 (
        echo Command executed successfully
    ) ELSE (
        echo Command failed
    )
    

    এখানে যদি কমান্ডটি সফলভাবে এক্সিকিউট হয় (Exit Code 0), তবে "Command executed successfully" প্রিন্ট হবে। অন্যথায় "Command failed" প্রিন্ট হবে।

5. Exit Code নিয়ে কাজ করা - এক্সিট কোড চেক করা

কমান্ড বা স্ক্রিপ্ট চলানোর পর তার Exit Code যাচাই করে সফলতা বা ত্রুটি নির্ধারণ করা হয়। এটি সাধারণত এক্সিকিউটেড কমান্ডের ফলাফল জানাতে ব্যবহৃত হয়।

  • ব্যবহার:

    echo Hello
    IF %ERRORLEVEL% NEQ 0 (
        echo There was an error
    ) ELSE (
        echo No error occurred
    )
    

    এখানে যদি echo Hello কমান্ডটি কোন ত্রুটি ছাড়াই চলে, তাহলে "No error occurred" প্রিন্ট হবে।

সারাংশ

Batch script-এ IF, IF NOT এবং ErrorLevel স্টেটমেন্ট ব্যবহার করে শর্তাধীন লজিক তৈরি করা হয়। এই কন্ডিশনাল স্টেটমেন্টগুলো স্ক্রিপ্টে নির্দিষ্ট শর্ত পূরণ হলে বিভিন্ন কমান্ড বা কোড এক্সিকিউট করার সুযোগ দেয়। IF এবং IF NOT স্টেটমেন্টে স্ট্রিং ও সংখ্যার তুলনা, Nested IF ব্যবহার, এবং ErrorLevel চেক করার মাধ্যমে আরো শক্তিশালী কন্ডিশনাল লজিক তৈরি করা সম্ভব।

common.content_added_by

IF এবং IF NOT কন্ডিশন

193
193

Batch Script-এ IF এবং IF NOT কন্ডিশন ব্যবহার করা হয় স্ক্রিপ্টের মধ্যে শর্তযুক্ত কার্যক্রম পরিচালনা করতে। এগুলি বিশেষত বিভিন্ন পরিস্থিতিতে নির্দিষ্ট কোড চালানোর জন্য প্রয়োজনীয়। এই কন্ডিশনগুলো ব্যবহার করে, আপনি একটি শর্ত যাচাই করতে পারেন এবং তার ওপর ভিত্তি করে কার্যক্রম নির্বাচন করতে পারেন।


IF কন্ডিশন

IF কন্ডিশনটি স্ক্রিপ্টে একটি শর্ত যাচাই করার জন্য ব্যবহৃত হয়। যদি শর্তটি সত্য (True) হয়, তাহলে নির্দিষ্ট কমান্ডটি চলবে।

ব্যবহার:

IF <condition> <command>

উদাহরণ:

IF %USER%==admin echo You are an admin

এখানে, IF কন্ডিশনটি %USER% ভেরিয়েবলের মান admin এর সাথে তুলনা করছে। যদি %USER% এর মান admin হয়, তাহলে কমান্ড echo You are an admin চালানো হবে এবং আউটপুট হিসেবে "You are an admin" প্রদর্শিত হবে।


IF NOT কন্ডিশন

IF NOT কন্ডিশনটি IF কন্ডিশনের বিপরীত। অর্থাৎ, যখন শর্তটি মিথ্যা (False) হয়, তখন IF NOT কন্ডিশনটি কার্যকর হবে। এটি শর্তের ব্যতিক্রম যাচাই করতে ব্যবহৃত হয়।

ব্যবহার:

IF NOT <condition> <command>

উদাহরণ:

IF NOT %USER%==admin echo You are not an admin

এখানে, IF NOT কন্ডিশনটি যাচাই করবে যে %USER% এর মান admin নয়। যদি এটি মিথ্যা হয়, তাহলে echo You are not an admin কমান্ড চালানো হবে, অর্থাৎ "You are not an admin" প্রদর্শিত হবে।


IF কন্ডিশনের সাথে Logical Operators

আপনি একাধিক শর্ত ব্যবহার করে IF কন্ডিশন চেক করতে পারেন, যেমন AND এবং OR শর্ত। Batch Script-এ এই শর্তগুলো ব্যবহার করা একটু ভিন্ন।

  1. AND Condition:
    একাধিক শর্ত যাচাই করার জন্য IF কন্ডিশনের মধ্যে দুইটি শর্ত ব্যবহার করা হয়:

    IF %USER%==admin IF %AGE% GEQ 18 echo You are an adult admin
    

    এখানে প্রথম শর্তটি যাচাই করবে %USER% যদি admin হয় এবং দ্বিতীয় শর্তটি %AGE% যদি 18 বা তার বেশি হয়, তখন আউটপুট হিসেবে "You are an adult admin" প্রদর্শিত হবে।

  2. OR Condition:
    OR শর্তের জন্য || অপারেটর ব্যবহার করা হয়:

    IF %USER%==admin || %USER%==superuser echo Welcome admin or superuser
    

    এখানে, যদি %USER% এর মান admin বা superuser হয়, তাহলে আউটপুট হবে "Welcome admin or superuser"।


Nested IF স্টেটমেন্ট

এছাড়া, আপনি IF কন্ডিশনকে আরেকটি IF কন্ডিশনের ভিতরে ব্যবহার করে আরও জটিল শর্ত তৈরি করতে পারেন। এটি nested IF স্টেটমেন্ট বলে পরিচিত।

ব্যবহার:

IF %USER%==admin (
    IF %AGE% GEQ 18 echo You are an adult admin
) ELSE (
    echo You are not an admin
)

এখানে, প্রথমে চেক করা হচ্ছে %USER% যদি admin হয়, তারপর ভেতরের IF কন্ডিশনটি %AGE% যদি 18 বা তার বেশি হয়, তখন "You are an adult admin" প্রদর্শিত হবে। অন্যথায়, "You are not an admin" প্রদর্শিত হবে।


সারাংশ

IF এবং IF NOT কন্ডিশনগুলো Batch Script-এ শর্ত যাচাই করার জন্য ব্যবহৃত হয়, যাতে নির্দিষ্ট শর্তের ভিত্তিতে বিভিন্ন কোড চালানো যায়। IF কন্ডিশনটি যখন শর্ত সত্য হয় তখন কার্যকর হয়, এবং IF NOT কন্ডিশনটি তখন কার্যকর হয় যখন শর্ত মিথ্যা হয়। এই কন্ডিশনগুলো স্ক্রিপ্টে লজিক্যাল প্রবাহ তৈরি করতে সহায়তা করে, যাতে স্ক্রিপ্ট আরও গতিশীল এবং দক্ষ হয়।

common.content_added_by

String এবং Numeric কন্ডিশন চেক করা

177
177

Batch Script-এ String এবং Numeric কন্ডিশন চেক করা খুবই গুরুত্বপূর্ণ, কারণ এর মাধ্যমে আপনি নির্দিষ্ট শর্তের উপর ভিত্তি করে বিভিন্ন কাজ বা প্রক্রিয়া চালাতে পারেন। IF স্টেটমেন্ট ব্যবহার করে এই কন্ডিশন চেক করা হয়, যা একটি খুবই সাধারণ এবং শক্তিশালী কৌশল।


String কন্ডিশন চেক করা

String কন্ডিশন চেক করার জন্য আপনি সাধারণত IF স্টেটমেন্ট ব্যবহার করেন। Batch Script-এ String কন্ডিশন চেক করার সময়, মূলত দুটি স্ট্রিং তুলনা করা হয়, এবং যদি সেগুলোর মধ্যে কোনো পার্থক্য না থাকে, তবে নির্দিষ্ট কাজ সম্পাদিত হয়।

সিনট্যাক্স:

IF [condition] command

বিস্তারিত ব্যাখ্যা:

  • IF স্টেটমেন্টে স্ট্রিং তুলনা করতে == (double equals) অপারেটর ব্যবহার করা হয়।
  • যদি শর্তটি সত্য হয়, তবে পরবর্তী কমান্ড রান হবে।

উদাহরণ:

SET str1=Hello
SET str2=World

IF "%str1%"=="%str2%" (
    ECHO Strings are equal
) ELSE (
    ECHO Strings are not equal
)

এখানে, str1 এবং str2 স্ট্রিং দুটি তুলনা করা হচ্ছে। যেহেতু "Hello" এবং "World" সমান নয়, আউটপুট হবে:

Strings are not equal

বিঃদ্রঃ: স্ট্রিং কন্ডিশন চেক করার সময় স্ট্রিংগুলোকে কোডিনেটেড করে (যেমন %str1%) ব্যবহার করা উচিত।


Numeric কন্ডিশন চেক করা

Numeric কন্ডিশন চেক করতে Batch Script-এ IF স্টেটমেন্টের সাথে LEQ, GEQ, LSS, GTR এবং EQU (Less Than, Greater Than, Less or Equal, Greater or Equal, Equal) অপারেটর ব্যবহার করা হয়। এই অপারেটরগুলোর মাধ্যমে আপনি সংখ্যাগুলোর তুলনা করতে পারেন এবং শর্তানুযায়ী কাজ পরিচালনা করতে পারেন।

সিনট্যাক্স:

IF [numeric_condition] command

উদাহরণ:

  1. Equal (EQU)

    SET num1=5
    SET num2=5
    
    IF %num1% EQU %num2% (
        ECHO Numbers are equal
    ) ELSE (
        ECHO Numbers are not equal
    )
    

    এখানে, num1 এবং num2 সংখ্যার মান ৫ হওয়ায় আউটপুট হবে:

    Numbers are equal
    
  2. Greater Than (GTR)

    SET num1=10
    SET num2=5
    
    IF %num1% GTR %num2% (
        ECHO %num1% is greater than %num2%
    ) ELSE (
        ECHO %num1% is not greater than %num2%
    )
    

    এখানে, num1 (১০) এবং num2 (৫)-এর তুলনায় ১০ বড় হওয়ায় আউটপুট হবে:

    10 is greater than 5
    
  3. Less Than (LSS)

    SET num1=3
    SET num2=7
    
    IF %num1% LSS %num2% (
        ECHO %num1% is less than %num2%
    ) ELSE (
        ECHO %num1% is not less than %num2%
    )
    

    এখানে, num1 (৩) এবং num2 (৭)-এর তুলনায় ৩ ছোট হওয়ায় আউটপুট হবে:

    3 is less than 7
    

String এবং Numeric কন্ডিশন একসাথে চেক করা

কখনও কখনও আপনি String এবং Numeric কন্ডিশন একসাথে চেক করতে চাইতে পারেন। Batch Script-এ এটি করার জন্য কিছুটা কৌশল অবলম্বন করতে হয়। সাধারণত String কন্ডিশন চেক করার পরে, আপনি একটি Numeric কন্ডিশন ব্যবহার করতে পারেন।

উদাহরণ:

SET str=Hello
SET num=10

IF "%str%"=="Hello" (
    IF %num% GTR 5 (
        ECHO String is Hello and Number is greater than 5
    ) ELSE (
        ECHO String is Hello but Number is not greater than 5
    )
)

এখানে, প্রথমে স্ট্রিংটি চেক করা হচ্ছে, এবং যদি সেটি "Hello" হয়, তাহলে নেম্বারটি চেক করা হচ্ছে, যদি সংখ্যাটি ৫ এর চেয়ে বড় হয়, তাহলে উপরের বার্তা প্রদর্শিত হবে।


Nested IF স্টেটমেন্ট

যখন একাধিক শর্ত একসাথে চেক করতে হয়, তখন আপনি Nested IF ব্যবহার করতে পারেন। Nested IF ব্যবহার করে আপনি একটি শর্তের মধ্যে আরেকটি শর্ত চেক করতে পারেন, যা জটিল লজিকাল পরিস্থিতির জন্য উপযোগী।

উদাহরণ:

SET num1=20
SET num2=15

IF %num1% GTR %num2% (
    IF %num2% LSS 10 (
        ECHO num2 is less than 10
    ) ELSE (
        ECHO num2 is not less than 10
    )
) ELSE (
    ECHO num1 is not greater than num2
)

এখানে, প্রথমে num1 এবং num2 এর মধ্যে তুলনা করা হচ্ছে, এবং যদি num1 বড় হয়, তাহলে num2 এর মান চেক করা হচ্ছে, যদি num2 ১০ এর কম হয়।


সারাংশ

  • String কন্ডিশন চেক করতে IF কমান্ডে == ব্যবহার করা হয়।
  • Numeric কন্ডিশন চেক করতে বিভিন্ন অপারেটর যেমন EQU, GTR, LSS, LEQ ব্যবহার করা হয়।
  • Nested IF ব্যবহার করে একাধিক কন্ডিশন চেক করা যায়, যা জটিল লজিকাল সিদ্ধান্তে সাহায্য করে।

এই কন্ডিশনাল চেকগুলো Batch Script-কে আরও শক্তিশালী এবং ব্যবহারযোগ্য করে তোলে, বিশেষ করে যখন আপনার স্ক্রিপ্টে বিভিন্ন পরিস্থিতি অনুযায়ী কাজ করতে হয়।

common.content_added_by

Nested IF স্টেটমেন্ট

189
189

Batch scripting এ Nested IF স্টেটমেন্ট ব্যবহার করা হয় যখন একটি IF স্টেটমেন্টের মধ্যে আরও এক বা একাধিক IF স্টেটমেন্ট থাকতে পারে। এটি আপনাকে একটি শর্তের ভিত্তিতে আরও জটিল শর্ত পরীক্ষা করার সুযোগ দেয়, যাতে আরো নির্দিষ্ট এবং কাস্টমাইজড সিদ্ধান্ত নেয়া যায়।

এটি মূলত একাধিক শর্ত পরীক্ষার জন্য ব্যবহৃত হয়, যেখানে প্রথম শর্তটি যদি সত্য (True) হয়, তবে তার মধ্যে আরও একটি শর্ত পরীক্ষা করা হয়। যদি প্রথম শর্ত মিথ্যা (False) হয়, তবে দ্বিতীয় শর্ত পরীক্ষা করা হয় অথবা একটি আলাদা একশন নেওয়া হয়।

কমান্ডের সিনট্যাক্স:

IF [শর্ত ১] (
    IF [শর্ত ২] (
        [এখানে কোড চালানো হবে]
    )
    [যদি শর্ত ১ মিথ্যা হয়, তবে অন্য কোড চলবে]
)

উদাহরণ:

ধরা যাক, আপনি পরীক্ষা করতে চান যে একটি সংখ্যা পজিটিভ, নেগেটিভ, বা জিরো। এই কাজটি করতে আপনি Nested IF স্টেটমেন্ট ব্যবহার করতে পারেন।

@echo off
set /p num=একটি সংখ্যা লিখুন: 

IF %num% LSS 0 (
    echo সংখ্যাটি নেগেটিভ।
) ELSE (
    IF %num% GTR 0 (
        echo সংখ্যাটি পজিটিভ।
    ) ELSE (
        echo সংখ্যাটি জিরো।
    )
)
pause

ব্যাখ্যা:

  1. প্রথমে, আমরা একটি সংখ্যা গ্রহণ করেছি set /p num=একটি সংখ্যা লিখুন:
  2. এরপর, প্রথম IF স্টেটমেন্ট চেক করবে যে, সংখ্যাটি নেগেটিভ কিনা (যদি %num% LSS 0 হয়)।
  3. যদি না হয়, তাহলে পরবর্তী ELSE অংশে Nested IF ব্যবহার করে চেক করবে যে, সংখ্যাটি পজিটিভ কিনা (যদি %num% GTR 0 হয়)।
  4. যদি উভয় শর্তই মিথ্যা হয়, তবে পরবর্তী ELSE অংশটি কার্যকর হবে, অর্থাৎ সংখ্যাটি জিরো হবে।

আরেকটি উদাহরণ:

ধরা যাক, আপনি দুটি ভ্যালু তুলনা করতে চান এবং সিদ্ধান্ত নিতে চান যে কোনটি বড়:

@echo off
set /p val1=প্রথম সংখ্যা লিখুন: 
set /p val2=দ্বিতীয় সংখ্যা লিখুন: 

IF %val1% GTR %val2% (
    echo প্রথম সংখ্যা বড়।
) ELSE (
    IF %val1% LSS %val2% (
        echo দ্বিতীয় সংখ্যা বড়।
    ) ELSE (
        echo দুটি সংখ্যা সমান।
    )
)
pause

ব্যাখ্যা:

  1. দুটি সংখ্যার মধ্যে তুলনা করা হচ্ছে।
  2. প্রথম IF চেক করবে যে, প্রথম সংখ্যা দ্বিতীয়টির চেয়ে বড় কিনা।
  3. যদি না হয়, তাহলে দ্বিতীয় IF চেক করবে যে, দ্বিতীয় সংখ্যা প্রথমটির চেয়ে বড় কিনা।
  4. যদি উভয় শর্ত মিথ্যা হয়, অর্থাৎ দুটি সংখ্যা সমান, তাহলে "দুটি সংখ্যা সমান" বার্তা প্রদর্শিত হবে।

Nested IF স্টেটমেন্ট এর সুবিধা:

  • জটিল শর্ত পরীক্ষার ক্ষেত্রে Nested IF স্টেটমেন্ট খুবই কার্যকরী।
  • আপনি একাধিক শর্ত পরীক্ষা করতে পারেন এবং প্রয়োজন অনুযায়ী বিভিন্ন সিদ্ধান্ত গ্রহণ করতে পারেন।

সতর্কতা:

  • Nested IF স্টেটমেন্টের মধ্যে বেশি স্তর (levels) হতে পারে যা কোডকে কিছুটা জটিল এবং অপরিষ্কার করে ফেলতে পারে। তাই যতটা সম্ভব কোডকে পরিষ্কার এবং সহজ রাখার চেষ্টা করুন।
  • সঠিক বন্ধনী ) ব্যবহার না করলে কোডে সমস্যা হতে পারে, তাই সাবধানতা অবলম্বন করুন।

সারাংশ

Nested IF স্টেটমেন্ট আপনাকে একাধিক শর্ত পরীক্ষা করতে সহায়তা করে, যার ফলে আপনি বিভিন্ন পরিস্থিতির জন্য ভিন্ন ভিন্ন কোড রান করতে পারেন। Batch script এ এই স্টেটমেন্টটি ব্যবহার করে আপনি জটিল লজিক তৈরি করতে পারেন যা একক IF স্টেটমেন্ট দিয়ে সম্ভব হয় না।

common.content_added_by

Error Level এবং Exit Code নিয়ে কাজ করা

214
214

Batch Script-এ Error Level এবং Exit Code দুটি গুরুত্বপূর্ণ ধারণা, যা একটি স্ক্রিপ্টের সফলতা বা ব্যর্থতা নির্ধারণ করতে সাহায্য করে। এই কোডগুলো সাধারণত একটি কমান্ড বা প্রোগ্রাম চালানোর পর সিস্টেমের স্টেটাস বা আউটপুট সম্পর্কে তথ্য প্রদান করে। যখন একটি কমান্ড বা প্রোগ্রাম শেষ হয়, তখন এটি একটি কোড রিটার্ন করে, যেটি আপনাকে সেই কাজটি সফলভাবে বা অপ্রত্যাশিতভাবে শেষ হয়েছে কিনা তা জানায়।

Error Level কী?

Error Level (বা Exit Code) হলো একটি সংখ্যার মান যা একটি প্রোগ্রাম বা স্ক্রিপ্টের শেষ অবস্থার অবস্থা নির্দেশ করে। এটি 0 থেকে শুরু হয় এবং 0 এর বাইরে অন্য যেকোনো মান সাধারণত কোনো ত্রুটি বা ব্যতিক্রমের সংকেত হিসেবে বিবেচিত হয়।

  • 0: এর মানে হলো কমান্ড বা স্ক্রিপ্ট সফলভাবে সম্পন্ন হয়েছে। সাধারণত, যদি কোনো সমস্যা না হয়, তাহলে কমান্ডটি 0 এর মান রিটার্ন করে।
  • অন্য মান (1 বা তার বেশি): এটি ত্রুটির সংকেত, যার মানে হলো কমান্ড বা স্ক্রিপ্টে কোনো সমস্যা ঘটেছে। যে পরিমাণ মান রিটার্ন হবে, তা ত্রুটির ধরন বা স্তরের নির্দেশক হতে পারে।

Error Level চেক করা

Error Level চেক করতে IF ERRORLEVEL কমান্ড ব্যবহার করা হয়। এটি একটি শর্ত অনুযায়ী নির্দিষ্ট Error Level এর মান চেক করতে সাহায্য করে। নিচে কিছু উদাহরণ দেওয়া হলো:

  1. একটি কমান্ডের পর Error Level চেক করা:

    command
    if errorlevel 1 echo "There was an error."
    if errorlevel 0 echo "The command was successful."
    

    এখানে, errorlevel এর মান 1 বা তার বেশি হলে ত্রুটি ঘটেছে এবং কমান্ড সফল হলে 0 দেখানো হবে।

  2. Error Level চেক করা ও নির্দিষ্ট কোড নিয়ে কাজ করা:

    command
    if errorlevel 2 echo "Critical error occurred."
    if errorlevel 1 echo "Minor error occurred."
    if errorlevel 0 echo "No error occurred."
    

    এখানে, আপনার সিস্টেম কমান্ডের ফলাফল অনুযায়ী পৃথক বার্তা প্রদর্শিত হবে, যেখানে ত্রুটি বা সফলতার স্তর নির্ভর করবে।

Exit Code কী?

Exit Code (অথবা Return Code) হলো সেই কোড যা একটি কমান্ড বা প্রোগ্রাম তাদের রান শেষ হওয়ার পরে রিটার্ন করে। যখন আপনি একটি স্ক্রিপ্ট রান করেন, তখন তার মধ্যে থাকা প্রতিটি কমান্ডের একটি নির্দিষ্ট Exit Code থাকে, যা স্ক্রিপ্টের অবস্থান বুঝতে সাহায্য করে।

  1. Exit Code 0: এটি সফল অপারেশন বা কার্যকলাপকে নির্দেশ করে।
  2. Exit Code 1 বা তার বেশি: এটি কোনো ত্রুটি বা ব্যতিক্রমের সংকেত দেয়।

Exit Code এবং Error Level এর মধ্যে সম্পর্ক

Batch Script-এ Exit Code এবং Error Level একই ধারণা, তবে তাদের ব্যবহারের স্থান এবং পদ্ধতি কিছুটা ভিন্ন হতে পারে। মূলত, Error Level ব্যবহৃত হয় সিস্টেমে কোনো কমান্ডের সফলতা বা ব্যর্থতা চেক করতে, এবং Exit Code মূলত একটি স্ক্রিপ্ট বা প্রোগ্রাম তার কাজ শেষ হওয়ার পর রিটার্ন করে।

উদাহরণ: Error Level এবং Exit Code ব্যবহার

  1. একটি সহজ স্ক্রিপ্ট উদাহরণ:

    @echo off
    echo "Running some command..."
    command
    if errorlevel 1 (
        echo "There was an error!"
    ) else (
        echo "Command executed successfully!"
    )
    

    এখানে, প্রথমে একটি কমান্ড রান করা হবে। যদি কমান্ডটি সফল হয়, তবে Error Level 0 হবে এবং “Command executed successfully!” বার্তা প্রদর্শিত হবে। অন্যথায়, ত্রুটি ঘটলে “There was an error!” বার্তা দেখাবে।

  2. নির্দিষ্ট Exit Code সঙ্গে কাজ করা:

    @echo off
    somecommand
    if %errorlevel% equ 0 (
        echo "The command executed successfully."
    ) else (
        echo "The command failed with Exit Code %errorlevel%."
    )
    

    এখানে, %errorlevel% দিয়ে কমান্ডের ফলাফল চেক করা হচ্ছে। যদি Exit Code 0 হয়, তবে কমান্ড সফল বলে বিবেচিত হবে, আর অন্য যেকোনো Exit Code ত্রুটি সংকেত দিবে।

Error Level এবং Exit Code ব্যবহার করে স্ক্রিপ্টের নিয়ন্ত্রণ

Error Level এবং Exit Code-এর মাধ্যমে আপনি স্ক্রিপ্টের মধ্যে শর্তভিত্তিক কার্যক্রম পরিচালনা করতে পারেন। এর মাধ্যমে স্ক্রিপ্টকে আরও বুদ্ধিমান এবং ডায়নামিক করে তোলা যায়। উদাহরণস্বরূপ:

  1. Error Level ব্যবহার করে ভিন্ন কমান্ড চালানো:

    @echo off
    command1
    if errorlevel 1 (
        echo "command1 failed, running command2"
        command2
    ) else (
        echo "command1 succeeded"
    )
    

    এখানে, command1 সফল হলে পরবর্তী কমান্ডটি চালানো হবে। কিন্তু যদি command1 ব্যর্থ হয় (Error Level 1 বা তার বেশি), তখন দ্বিতীয় কমান্ডটি চালানো হবে।

  2. Exit Code এবং Error Level দিয়ে Looping:

    @echo off
    :loop
    somecommand
    if errorlevel 1 goto :error
    echo "Command succeeded"
    goto :end
    :error
    echo "Command failed"
    :end
    

    এখানে, একটি লুপে কমান্ড চালানো হচ্ছে, এবং যদি Error Level 1 বা তার বেশি হয়, তবে তা ত্রুটি মেনুতে চলে যাবে।

সারাংশ

Error Level এবং Exit Code Batch Script-এ গুরুত্বপূর্ণ উপাদান হিসেবে কাজ করে, যা কমান্ড বা স্ক্রিপ্টের সফলতা বা ব্যর্থতা নির্ধারণ করতে সাহায্য করে। Error Level সাধারণত 0 এর মানে সফল এবং 1 বা তার বেশি মানে ত্রুটি, এবং এই তথ্য ব্যবহার করে আপনি আপনার স্ক্রিপ্টের লজিক নিয়ন্ত্রণ করতে পারেন। এটি স্ক্রিপ্টিংয়ে স্বয়ংক্রিয় সিদ্ধান্ত নিতে এবং ত্রুটির সমাধান করতে সহায়তা করে।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion