CALL কমান্ড ব্যবহার করে সাবরুটিন কল করা

Microsoft Technologies - ব্যাচ স্ক্রিপ্ট (Batch Script) ফাংশন এবং সাবরুটিন (Functions and Subroutines) |
224
224

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


CALL কমান্ডের ব্যাখ্যা

CALL কমান্ডের সাহায্যে আপনি একটি ব্যাচ ফাইলের মধ্যে অন্য একটি সাবরুটিন কল করতে পারেন, যা একটি লেবেল দ্বারা চিহ্নিত থাকে। একবার সাবরুটিনে প্রবেশ করলে, স্ক্রিপ্টটি সেখানে সংজ্ঞায়িত কোডগুলি চালাবে, এবং পরে CALL কমান্ডটি যেখানে কল করা হয়েছে, সেখানে ফিরে আসবে।

ব্যবহার:

CALL :SubroutineName

এখানে, :SubroutineName হল সেই লেবেল যেখানে সাবরুটিনের কোড সংরক্ষিত থাকে। সাবরুটিনের শেষে একটি GOTO কমান্ড দিয়ে সাবরুটিন থেকে ফিরে আসা হয়।


উদাহরণ: CALL কমান্ড ব্যবহার

ধরা যাক, আপনার একটি ব্যাচ স্ক্রিপ্ট রয়েছে, যেখানে একটি সাবরুটিন আছে যা দুটি সংখ্যা যোগ করবে এবং ফলাফল প্রদর্শন করবে। আপনি CALL কমান্ড ব্যবহার করে সেটি কল করতে পারেন।

@echo off

echo Calling Subroutine...
CALL :AddNumbers 5 3

echo Back to Main Script
pause
exit

:AddNumbers
echo Adding %1 and %2
set /a result=%1+%2
echo The result is %result%
goto :eof

ব্যাখ্যা:

  1. CALL :AddNumbers 5 3
    এখানে, CALL কমান্ডটি :AddNumbers লেবেলকে কল করছে এবং 53 নামক দুইটি আর্গুমেন্ট পাস করছে।
  2. :AddNumbers
    এটি একটি সাবরুটিন যা দুইটি আর্গুমেন্ট গ্রহণ করে (%1 এবং %2), তাদের যোগফল বের করে এবং ফলাফল প্রদর্শন করে। এখানে, %1 হচ্ছে 5 এবং %2 হচ্ছে 3। শেষে, goto :eof কমান্ডের মাধ্যমে সাবরুটিনের কার্যক্রম শেষ হবে এবং স্ক্রিপ্টটি মূল জায়গায় ফিরে যাবে।
  3. goto :eof
    :eof (End Of File) লেবেলটি স্ক্রিপ্টের শেষের দিকে উপস্থিত থাকে, যা সাবরুটিনের শেষ হতে নির্দেশ করে। এটি CALL কমান্ডের পরিপূরক হিসেবে কাজ করে, যাতে সাবরুটিনটি শেষ হলে স্ক্রিপ্টটি আগের অবস্থানে ফিরে যেতে পারে।

Parameter Passing (পারামিটার পাসিং)

একটি গুরুত্বপূর্ণ বিষয় হল, আপনি CALL কমান্ডের মাধ্যমে সাবরুটিনে এক বা একাধিক পারামিটার পাস করতে পারেন। এসব পারামিটার সাবরুটিনে %1, %2, %3 ইত্যাদি দিয়ে অ্যাক্সেস করা হয়, যেখানে %1 প্রথম প্যারামিটার, %2 দ্বিতীয় প্যারামিটার, এবং এরকমভাবে চলতে থাকে।

উদাহরণ:

@echo off
CALL :DisplayMessage "Hello" "World"
pause
exit

:DisplayMessage
echo %1 %2
goto :eof

এখানে, CALL :DisplayMessage "Hello" "World" কমান্ডটি দুটি প্যারামিটার "Hello" এবং "World" সাবরুটিনে পাস করবে। সাবরুটিনটি echo %1 %2 দিয়ে এই দুটি প্যারামিটার প্রিন্ট করবে, এবং আউটপুট হবে:

Hello World

সাবরুটিনের জন্য রিটার্ন ভ্যালু (Return Values)

Batch Script সরাসরি রিটার্ন ভ্যালু সহ সাবরুটিন থেকে ফিরে আসার ব্যবস্থা করে না। তবে, আপনি সাবরুটিন থেকে কিছু ফলাফল ফেরত পেতে পারেন একটি ভেরিয়েবলের মাধ্যমে। উদাহরণস্বরূপ:

@echo off
CALL :Multiply 5 10
echo The product is %result%
pause
exit

:Multiply
set /a result=%1*%2
goto :eof

এখানে, Multiply সাবরুটিনটি দুটি সংখ্যার গুণফল গণনা করবে এবং সেই ফলাফলটি %result% ভেরিয়েবলে সংরক্ষণ করবে। CALL কমান্ডের মাধ্যমে সাবরুটিনটি কল করার পর, result ভেরিয়েবলটি মূল স্ক্রিপ্টে অ্যাক্সেস করা যাবে।


সারাংশ

CALL কমান্ডটি Batch Script-এ একটি গুরুত্বপূর্ণ কৌশল যা আপনাকে কোডকে মডুলারভাবে ভাগ করতে এবং একাধিক জায়গায় পুনরায় ব্যবহার করতে সাহায্য করে। এটি সাবরুটিন কল করতে ব্যবহৃত হয় এবং প্যারামিটার পাসিংয়ের মাধ্যমে আরও ডাইনামিক স্ক্রিপ্ট তৈরি করতে সহায়তা করে। GOTO :eof কমান্ডের মাধ্যমে সাবরুটিনটি শেষ হলে স্ক্রিপ্টটি আগের অবস্থানে ফিরে আসে। CALL কমান্ড Batch Script-কে আরও গঠনমূলক ও রিইউজেবল করে তোলে।

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

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

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

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