Batch scripting এ parameter passing এবং return values ব্যবহার করে আপনি ফাংশন বা সাবরুটিনের মধ্যে ডেটা আদান-প্রদান করতে পারেন। এটি স্ক্রিপ্টের মধ্যে পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি আনতে সাহায্য করে, যাতে একটি স্ক্রিপ্টের বিভিন্ন অংশ একে অপরের সাথে যোগাযোগ করতে পারে এবং ফলাফল পেতে পারে।
Batch script এ ফাংশন বা সাবরুটিনের মধ্যে আর্গুমেন্ট (parameters) পাঠানোর জন্য আপনি CALL কমান্ড ব্যবহার করতে পারেন। সাবরুটিন বা ফাংশনের মধ্যে প্যারামিটার পাস করার জন্য, স্ক্রিপ্টের অন্য জায়গা থেকে প্যারামিটার গুলি গ্রহণ করা হয়। এর মাধ্যমে বিভিন্ন কার্যক্রমের জন্য একই ফাংশন বা সাবরুটিন পুনঃব্যবহার করা সম্ভব।
Batch script এ ফাংশন বা সাবরুটিনে return values পেতে হলে, সাধারণত ERRORLEVEL বা কোনো ভেরিয়েবলের মাধ্যমে ফলাফল ফেরত দেওয়া হয়। Batch scripting এ সরাসরি return
কীওয়ার্ড নেই, কিন্তু ভেরিয়েবল বা exit code ব্যবহার করে ফলাফল ফেরত দেওয়া যায়।
ধরা যাক, আপনি একটি ফাংশন তৈরি করতে চান যা দুটি সংখ্যা যোগ করে এবং সেই ফলাফল ফেরত দেয়। এখানে আমরা প্যারামিটার পাস করতে এবং ফলাফল ফিরিয়ে আনতে দেখাবো।
@echo off
setlocal
rem প্রধান স্ক্রিপ্টের মধ্যে দুটি সংখ্যা প্রদান করা
set num1=5
set num2=10
rem ফাংশন কল করা
call :add_numbers %num1% %num2%
rem সাবরুটিনে পাস করা প্যারামিটার গুলি গ্রহণ করা এবং ফলাফল প্রদর্শন করা
echo যোগফল: %result%
pause
exit /b
:add_numbers
rem প্যারামিটার গ্রহণ করা
set /a result=%1 + %2
exit /b
ব্যাখ্যা:
num1
এবং num2
তৈরি করা হয়েছে।call :add_numbers %num1% %num2%
দিয়ে ফাংশনটি কল করা হয়েছে এবং সংখ্যা দুটি প্যারামিটার হিসেবে পাস করা হয়েছে।add_numbers
সাবরুটিনে যায়, যেখানে %1
এবং %2
এর মাধ্যমে প্যারামিটার গ্রহণ করা হয়। এখানে %1
হলো প্রথম প্যারামিটার (num1) এবং %2
হলো দ্বিতীয় প্যারামিটার (num2)।result
ভেরিয়েবলে সংরক্ষণ করা হয়েছে।result
ভেরিয়েবলটি মূল স্ক্রিপ্টে ফিরে আসবে এবং ফলাফল হিসেবে প্রদর্শিত হবে।Batch script এ সরাসরি return কোন ফলাফল ফেরত দেওয়ার কোনও সরাসরি উপায় নেই, তবে ERRORLEVEL
বা একটি ভেরিয়েবল ব্যবহার করে আপনি return value পেতে পারেন।
@echo off
setlocal
rem ফাংশন কল করা
call :multiply_numbers 4 6
rem ফলাফল প্রিন্ট করা
echo গুণফল: %result%
pause
exit /b
:multiply_numbers
rem প্যারামিটার গ্রহণ করা
set /a result=%1 * %2
exit /b
এখানে multiply_numbers
ফাংশনটি দুটি প্যারামিটার (4 এবং 6) গ্রহণ করেছে এবং তাদের গুণফল ফেরত দিয়েছে। আপনি ফলাফলটি result
ভেরিয়েবলে দেখাতে পারবেন।
Batch scripting এ, ERRORLEVEL
ব্যবহার করে কোন কন্ডিশন বা স্টেটমেন্টের ফলাফল যাচাই করা যেতে পারে। উদাহরণস্বরূপ:
@echo off
setlocal
rem একটি কমান্ড চালানো এবং ERRORLEVEL পরীক্ষা করা
echo Hello, World!
if %ERRORLEVEL% equ 0 (
echo কমান্ড সফলভাবে চলেছে
) else (
echo কোনো ত্রুটি ঘটেছে
)
pause
exit /b
এখানে echo
কমান্ডের পর ERRORLEVEL
চেক করা হয়েছে। ERRORLEVEL
0 হলে, এটি সফলভাবে রান করেছে; যদি না হয়, ত্রুটি ঘটেছে।
Batch script এ parameter passing এবং return values ব্যবহারের মাধ্যমে আপনি স্ক্রিপ্টের মধ্যে ডেটা আদান-প্রদান করতে পারেন। এটি কোডের পুনঃব্যবহারযোগ্যতা এবং মডুলারিটি বৃদ্ধি করে এবং আপনাকে স্ক্রিপ্টে আরো জটিল লজিক তৈরি করার সুযোগ দেয়।
common.read_more