ব্যাচ ফাইল পজ এবং ওয়েট কমান্ড: কিভাবে আপনার স্ক্রিপ্টের প্রবাহ নিয়ন্ত্রণ করবেন

Byaca Pha Ila Paja Ebam Oyeta Kamanda Kibhabe Apanara Skriptera Prabaha Niyantrana Karabena



উইন্ডোজের ব্যাচ স্ক্রিপ্টিং-এ, বিকাশকারীরা আপনার স্ক্রিপ্টের প্রবাহ নিয়ন্ত্রণ করতে পারে বিভিন্ন কৌশল বা পদ্ধতি ব্যবহার করে বিরতি বা অপেক্ষার প্রবর্তন করতে। 'বিরতি' এবং 'অপেক্ষা করুন' কমান্ডগুলি আপনার ব্যাচ ফাইলগুলির প্রবাহ নিয়ন্ত্রণ করার দুটি উপায়। 'পজ' কমান্ডটি 'চালিয়ে যেতে যেকোনো কী টিপুন...' বার্তাটি উপস্থাপন করার সময় একটি ব্যাচ ফাইলের সম্পাদন বন্ধ করে। ব্যাচ ফাইলটি চলতে পারে না যতক্ষণ না ব্যবহারকারী একটি কী টিপে। অপেক্ষার নির্দেশ দ্বারা নির্দেশিত সেকেন্ডের সংখ্যার জন্য ব্যাচ ফাইলের সম্পাদন স্থগিত করা হয়েছে।

ব্যাচ ফাইল পজ কমান্ড

একটি ব্যাচ ফাইলের 'পজ' কমান্ড কমান্ড লাইনে বার্তা প্রদর্শন করার সময় ব্যাচ ফাইল সম্পাদন বন্ধ করে দেয়। ব্যাচ ফাইলটি চলবে না যতক্ষণ না ব্যবহারকারী একটি কী টিপে। যে কমান্ডটি পরবর্তী কার্যকর করা বন্ধ করে তা সহায়ক। ব্যাচ ফাইলটি সরাসরি চালানো এবং পছন্দসই আউটপুটটি স্ক্রিনে উপস্থিত হওয়া উপকারী।







'পজ' কমান্ডের সিনট্যাক্স হল:



বিরতি

ব্যবহারকারীকে ইনপুটের জন্য অনুরোধ করুন

ব্যবহারকারী যখন এই ব্যাচ ফাইলটি চালান তখন নিম্নলিখিত ব্যাচ স্ক্রিপ্টের 'পজ' কমান্ডটি 'চালিয়ে রাখতে যেকোন কী টিপুন...' বার্তাটি দেখায়। ব্যাচ ফাইলটি 'dir' কমান্ডে যাওয়ার আগে, ব্যবহারকারীকে একটি কী টিপতে হবে।



@ইকো বন্ধ

rem এই ব্যাচ ফাইলটি ব্যবহারকারীর জন্য একটি কী টিপতে বিরতি দেয়।

ইকো হ্যালো, পজ কমান্ড প্রদর্শনে স্বাগতম।

বিরতির পরে ইকো স্ক্রিপ্ট এক্সিকিউশন চলতে থাকে।

বিরতি

rem এই ব্যাচ ফাইলটি পরবর্তী কমান্ডের সাথে চলতে থাকে।

প্রতিধ্বনি ধন্যবাদ!

আপনি





যখন ব্যবহারকারী কীবোর্ড ব্যবহার করে কোনো কী চাপেন, তখন এই ব্যাচ প্রক্রিয়াটি চলতে থাকে:



ব্যাচ ফাইল অপেক্ষা কমান্ড

আপনার দেওয়া কোডটি একটি ব্যাচ ফাইল যা দুটি প্রোগ্রাম খোলে: নোটপ্যাড এবং পেইন্ট। কোডটি নিম্নরূপ:

@ইকো বন্ধ

ইকো স্টার্টিং ফার্স্ট প্রোগ্রাম।

START /B /WAIT notepad.exe

ইকো নোটপ্যাড সফলভাবে ব্যাকগ্রাউন্ডে খোলা হয়েছে

দ্বিতীয় প্রোগ্রাম শুরু করার প্রতিধ্বনি।

স্টার্ট /ওয়েট mspaint.exe

ইকো দ্য পেইন্ট সফলভাবে খোলা হয়েছে।

cmd/k

প্রথম লাইন, “@echo off”, ব্যাচ ফাইলটিকে কমান্ডগুলি চালানোর সাথে সাথে প্রদর্শন করা থেকে বাধা দেয়।

ব্যবহারকারীকে সহজভাবে জানানো হয় যে প্রথম প্রোগ্রামটি দ্বিতীয় লাইন দ্বারা চালু করা হচ্ছে যা 'ইকো স্টার্টিং ফার্স্ট প্রোগ্রাম'।

তৃতীয় লাইন, 'START /B /WAIT notepad.exe', একটি ব্যাকগ্রাউন্ড উইন্ডোতে নোটপ্যাড প্রোগ্রামটি খোলে এবং চালিয়ে যাওয়ার আগে এটি শেষ হওয়ার জন্য অপেক্ষা করে। '/B' সুইচটি START কমান্ডকে ব্যাকগ্রাউন্ড উইন্ডোতে প্রোগ্রাম চালানোর জন্য বলে এবং '/WAIT' সুইচটি চালিয়ে যাওয়ার আগে প্রোগ্রামটি শেষ হওয়ার জন্য অপেক্ষা করতে START কমান্ডকে বলে।

চতুর্থ লাইনটি ইকো নোটপ্যাড পড়ে। যখন নোটপ্যাড সফলভাবে ব্যাকগ্রাউন্ডে খোলা হয়, তখন এটি শুধুমাত্র একটি বার্তার মাধ্যমে ব্যবহারকারীকে অবহিত করে।

পঞ্চম লাইন, 'ইকো স্টার্টিং সেকেন্ড প্রোগ্রাম', ব্যবহারকারীর কাছে একটি বার্তা প্রদর্শন করে যে দ্বিতীয় প্রোগ্রামটি শুরু হচ্ছে।

ষষ্ঠ লাইন, 'START /WAIT mspaint.exe', একটি পটভূমি উইন্ডোতে পেইন্ট প্রোগ্রামটি খোলে এবং চালিয়ে যাওয়ার আগে এটি শেষ হওয়ার জন্য অপেক্ষা করে না।

সপ্তম লাইন, 'ইকো দ্য পেইন্ট সফলভাবে খোলা হয়েছে', ব্যবহারকারীকে সহজভাবে একটি বার্তা দেখায় যে পেইন্টটি সফলভাবে খোলা হয়েছে।

অষ্টম লাইন, 'cmd /k', একটি নতুন কমান্ড প্রম্পট উইন্ডো খোলে এবং বর্তমান কমান্ড প্রম্পট উইন্ডোটি খোলা রাখে।

কাস্টম বিলম্বের জন্য একটি লুপ ব্যবহার করা

আমরা ব্যাচ প্রক্রিয়ায় কাস্টম বিলম্বের জন্য একটি লুপ ব্যবহার করতে পারি। এখানে একটি উদাহরণ:

এই উদাহরণে, প্রথম বার্তাটি ব্যবহারকারীকে দেখানো হয় যখন এই ব্যাচ ফাইলটি চালানো হয়। 'ফর' লুপ শুরু হলে প্রথম বার্তাটি আরও একবার প্রদর্শিত হবে। টাইমআউট কমান্ড দ্বিতীয় বার্তা প্রদর্শনের আগে ব্যাচ ফাইলটিকে এক সেকেন্ডের জন্য থামিয়ে দেয়। মোট 10টি পুনরাবৃত্তির পর চূড়ান্ত বার্তাটি দেখানো হয়।

@ইকো বন্ধ

লুপ ব্যবহার করে বিলম্বের ইকো প্রদর্শন

(1,1,10) মধ্যে /l  %i এর জন্য (

সময় শেষ /t 1 /nobreak > nul

প্রতিধ্বনি এই বার্তাটি %%i সেকেন্ড(গুলি) পরে প্রদর্শিত হবে

)

প্রতিধ্বনি এই বার্তাটি একটি 10-সেকেন্ড বিলম্ব প্রদর্শন করেছে৷

বিলম্বের জন্য টাইমআউট ব্যবহার করা

একটি ব্যাচ ফাইলের টাইমআউট কমান্ড পূর্বনির্ধারিত সংখ্যক সেকেন্ডের জন্য ব্যাচ ফাইল সম্পাদনকে বিরতি দেয়। সিনট্যাক্স এখানে দেওয়া হয়:

সময়সীমা /t [/nobreak]

'/t' সুইচটি সেকেন্ডের মধ্যে অপেক্ষা করার সময় নির্দিষ্ট করে। “/nobreak” সুইচ বিলম্ব ভাঙতে ব্যবহারকারীর কাছ থেকে কী প্রেস করা নিষ্ক্রিয় করে।

'টাইমআউট' কমান্ডটি ব্যবহার করা যেতে পারে:

  • একটি পূর্বনির্ধারিত সময়ের জন্য একটি ব্যাচ ফাইলের সম্পাদন স্থগিত করুন
  • ব্যাচ ফাইল অ্যাকশন ব্যবহারকারীর দ্বারা বাধাপ্রাপ্ত হওয়া থেকে আটকান
  • ব্যবহারকারীকে চালিয়ে যাওয়ার জন্য একটি কী টিপতে বাধা দিয়ে আরও ব্যবহারকারী-বান্ধব অভিজ্ঞতা তৈরি করুন৷

উদাহরণস্বরূপ, নিম্নলিখিত ব্যাচ ফাইলটি 10 ​​সেকেন্ডের জন্য বিরতি দেয়:

@ইকো বন্ধ

ইকো হ্যালো, 10 সেকেন্ড বিলম্বের পরেও স্ক্রিপ্ট এক্সিকিউশন চলতে থাকে

সময়সীমা /t 10

প্রতিধ্বনি ধন্যবাদ!

নিম্নলিখিত স্ক্রিনশটে প্রদর্শিত হিসাবে, একটি টাইমার চলছে এবং ব্যবহারকারীর 'টাইমআউট' কমান্ডটি যে কোনও কী টিপে বাধা দেওয়ার জন্য অপেক্ষা করছে৷ ব্যবহারকারী যদি কোনো কী টিপে, প্রক্রিয়াটি বন্ধ হয়ে যায় এবং ব্যাচ ফাইলের পরবর্তী কমান্ডে চলে যায়:

নিম্নলিখিত স্ক্রিনশটের ব্যবহারকারী 5 সেকেন্ড পরে 'টাইমআউট' কমান্ডটি বাধা দেয়, যার ফলে 'ধন্যবাদ!' বার্তা:

নিম্নলিখিত স্ক্রিনশটটি দেখায় কিভাবে 'ধন্যবাদ!' বার্তাটি স্ক্রিনে মুদ্রণ করতে 10 সেকেন্ড সময় নেয় যদি শেষ-ব্যবহারকারী টাইমআউট নির্দেশে বাধা না দেয়:

এখানে আপডেট করা কোড যা নো-ব্রেক সুইচ অন্তর্ভুক্ত করার জন্য সংশোধন করা হয়েছে যা শেষ-ব্যবহারকারীকে একটি ব্যাচ ফাইল প্রক্রিয়া বাধাগ্রস্ত করতে বাধা দেয়:

@ইকো বন্ধ

rem এই ব্যাচ ফাইলটি 10 ​​সেকেন্ডের জন্য বিরতি দেয়

ইকো হ্যালো, 10 সেকেন্ড বিলম্বের পরেও স্ক্রিপ্ট এক্সিকিউশন চলতে থাকে

সময়সীমা /t 10 /nobreak

rem 10 সেকেন্ড পরে এই কমান্ডটি প্রম্পট স্ক্রিনে প্রদর্শিত হবে

প্রতিধ্বনি ধন্যবাদ!

এখানে পূর্ববর্তী কোডের আউটপুট:

যদি ব্যবহারকারী 'CTRL+C' কমান্ড ব্যবহার করে তাহলে কমান্ড লাইন ব্যবহারকারীকে Y বা N টাইপ করতে অনুরোধ করে। ব্যবহারকারী Y ক্লিক করলে, এই ব্যাচের কাজ বন্ধ হয়ে যাবে:

'বিরাম', 'অপেক্ষা করুন', এবং 'টাইমআউট' কমান্ড হল আমাদের স্ক্রিপ্টের প্রবাহ নিয়ন্ত্রণ করার উপায়। যখন 'pause' কমান্ড ব্যবহার করা হয় তখন স্ক্রিপ্টটি চালানো থেকে স্থগিত করা হয় এবং 'টাইমআউট' কমান্ড ব্যবহার করা হলে এটি একটি পূর্বনির্ধারিত সময়ের জন্য বন্ধ করা হয়।

প্রবাহ নিয়ন্ত্রণের জন্য শর্তসাপেক্ষ বিবৃতি ব্যবহার করা

শর্তসাপেক্ষ বিবৃতি হল সবচেয়ে সাধারণভাবে সম্ভাব্য কৌশল যা একটি নির্দিষ্ট পরিস্থিতির উপর ভিত্তি করে একটি স্ক্রিপ্টের প্রবাহ পরিবর্তন করতে নিযুক্ত করা হয়। একটি শর্ত সত্য বা মিথ্যা কিনা তার উপর ভিত্তি করে, 'যদি' বিবৃতিটি কোড এক্সিকিউশনের দুটি অংশের একটি সম্পাদন করে। 'যদি' বিবৃতিটি নিম্নরূপ গঠন করা হয়েছে:

যদি <শর্ত> অন্যথা

উদাহরণ:

নোটপ্যাড বা আপনার পছন্দের যেকোনো টেক্সট এডিটর খুলুন এবং নিচের কোডটি লিখুন যা তৃতীয় লাইনে ইনপুট ভ্যাল্যু ভেরিয়েবলের মান 1-এ শুরু করে। inputValue ভেরিয়েবলের মান তারপর রান টাইমে একটি 'if' স্টেটমেন্ট ব্যবহার করে চেক করা হয় যে এটি 1, 2, বা 3 এর সমান কিনা। যদি তাই হয়, তাহলে কমান্ড লাইন স্ক্রিনে উপযুক্ত বার্তা প্রিন্ট করা হয়। যদি এটি না হয়, চূড়ান্ত বার্তা প্রদর্শিত হয়। 'if' নামে পরিচিত একটি শর্তসাপেক্ষ বিবৃতিতে, একটি ভেরিয়েবলের ইনপুট ভ্যালু 1, 2 বা 3 এর সমান কিনা তা পরীক্ষা করা হয়। যদি এটি করে, তাহলে দুটি কোড ব্লকের মধ্যে একটি কার্যকর করা হয়। শর্ত সত্য হলে, শর্তযুক্ত বিবৃতি কিছুই করে না।

@ইকো বন্ধ

rem এই স্ক্রিপ্ট 1, 2, এবং 3 মানের বিপরীতে পরিবর্তনশীল ইনপুট ভ্যালু পরীক্ষা করে।

inputValue=1 সেট করুন

যদি '% inputValue%' =='1' (

echo ইনপুট মান 1 এর সমান।

) অন্যথায় যদি '% inputValue%' =='2' (

echo ইনপুট মান 2 এর সমান।

) অন্যথায় যদি '% inputValue%' =='3' (

echo ইনপুট মান 3 এর সমান।

) অন্য (

প্রতিধ্বনি পরিবর্তনশীল ইনপুট মান 1, 2, বা 3 এর সমান নয়।

)

আউটপুট:

উপসংহার

স্ক্রিপ্ট প্রবাহ নিয়ন্ত্রিত হতে পারে, এবং প্রক্রিয়াগুলি উইন্ডোজ অপারেটিং সিস্টেমে কমান্ড, লুপ এবং শর্তসাপেক্ষ বিবৃতি যেমন 'if' ব্যবহার করে স্বয়ংক্রিয় হতে পারে। বিকাশকারীরা 'টাইমআউট' বা 'পিং' ব্যবহার করে একটি স্ক্রিপ্টের সম্পাদন বন্ধ করতে পারে বা 'পজ' কমান্ডের সাথে বিলম্ব যোগ করতে পারে। যদিও ব্যাচ স্ক্রিপ্টিং-এ কোনও অন্তর্নির্মিত 'সুইচ' বিবৃতি নেই, আমরা এটিকে 'if' এবং 'else if' এক্সপ্রেশন দিয়ে অনুকরণ করতে পারি। এই স্ক্রিপ্টগুলি যথাযথ প্রেক্ষাপটে উদ্দেশ্য অনুসারে কাজ করে তা নিশ্চিত করার জন্য পরীক্ষা করা অত্যন্ত গুরুত্বপূর্ণ। এই স্ক্রিপ্টগুলি অটোমেশন, সিস্টেম পরিচালনা এবং ফাইল ম্যানিপুলেশনের জন্য দরকারী।