بیچ فائل کو روکنے اور انتظار کرنے کے احکامات: اپنے اسکرپٹ کے بہاؤ کو کیسے کنٹرول کریں۔

Bych Fayl Kw Rwkn Awr Antzar Krn K Ahkamat Apn Askrp K B Aw Kw Kys Kn Rwl Kry



ونڈوز پر بیچ اسکرپٹنگ میں، ڈویلپر آپ کے اسکرپٹ کے بہاؤ کو مختلف تکنیکوں یا طریقوں کا استعمال کرتے ہوئے کنٹرول کر سکتے ہیں تاکہ وقفے یا انتظار کو متعارف کرایا جا سکے۔ 'توقف' اور 'انتظار' کمانڈز آپ کی بیچ فائلوں کے بہاؤ کو کنٹرول کرنے کے دو طریقے ہیں۔ 'پاز' کمانڈ 'جاری رکھنے کے لیے کسی بھی کلید کو دبائیں...' پیغام پیش کرتے ہوئے بیچ فائل کے عمل کو روکتی ہے۔ بیچ فائل اس وقت تک نہیں چل سکتی جب تک کہ صارف ایک کلید نہ دبائے۔ انتظار کی ہدایت کے ذریعہ اشارہ کردہ سیکنڈوں کی تعداد کے لئے بیچ فائل کا عمل معطل ہے۔

بیچ فائل توقف کا حکم

بیچ فائل کی 'پاز' کمانڈ کمانڈ لائن پر پیغام کو ظاہر کرتے ہوئے بیچ فائل پر عمل درآمد روک دیتی ہے۔ بیچ فائل اس وقت تک نہیں چلے گی جب تک کہ صارف ایک کلید نہ دبائے۔ وہ کمانڈ جو اگلے عمل کو روکتی ہے مددگار ہے۔ بیچ فائل کو براہ راست چلانا اور مطلوبہ آؤٹ پٹ اسکرین پر ظاہر ہوتا دیکھنا فائدہ مند ہے۔







'پاز' کمانڈ کا نحو یہ ہے:



توقف

صارف کو ان پٹ کے لیے اشارہ کریں۔

مندرجہ ذیل بیچ اسکرپٹ میں 'پاز' کمانڈ 'جاری رکھنے کے لیے کوئی بھی کلید دبائیں...' پیغام دکھاتی ہے جب صارف اس بیچ فائل کو چلاتا ہے۔ اس سے پہلے کہ بیچ فائل 'dir' کمانڈ پر جائے، صارف کو ایک کلید دبانی ہوگی۔



@echo آف

rem یہ بیچ فائل صارف کے لیے ایک کلید دبانے کے لیے موقوف کرتی ہے۔

echo ہیلو، PAUSE کمانڈ مظاہرے میں خوش آمدید۔

ایکو اسکرپٹ پر عمل درآمد توقف کے بعد جاری رہتا ہے۔

توقف

rem یہ بیچ فائل اگلی کمانڈ کے ساتھ جاری رہتی ہے۔

بازگشت شکریہ!

تم





جب صارف کی بورڈ کا استعمال کرتے ہوئے کسی بھی کلید کو دباتا ہے، تو یہ بیچ کا عمل جاری رہتا ہے:



بیچ فائل ویٹ کمانڈ

آپ نے جو کوڈ فراہم کیا ہے وہ بیچ فائل ہے جو دو پروگرام کھولتی ہے: نوٹ پیڈ اور پینٹ۔ کوڈ درج ذیل ہے:

@echo آف

echo شروع کرنے والا پہلا پروگرام۔

START /B /WAIT notepad.exe

ایکو نوٹ پیڈ پس منظر میں کامیابی کے ساتھ کھل گیا۔

echo شروع کرنے والا دوسرا پروگرام۔

START/WAIT mspaint.exe

echo دی پینٹ کامیابی کے ساتھ کھولا گیا ہے۔

cmd/k

پہلی سطر، '@echo off'، بیچ فائل کو کمانڈز کو ظاہر کرنے سے روکتی ہے کیونکہ ان پر عمل درآمد ہوتا ہے۔

صارف کو آسانی سے مطلع کیا جاتا ہے کہ پہلا پروگرام دوسری لائن سے شروع کیا جا رہا ہے جو کہ 'ایکو سٹارٹنگ فرسٹ پروگرام' ہے۔

تیسری لائن، 'START /B /WAIT notepad.exe'، نوٹ پیڈ پروگرام کو بیک گراؤنڈ ونڈو میں کھولتی ہے اور جاری رکھنے سے پہلے اس کے ختم ہونے کا انتظار کرتی ہے۔ '/B' سوئچ START کمانڈ کو پروگرام کو بیک گراؤنڈ ونڈو میں چلانے کے لیے بتاتا ہے، اور '/WAIT' سوئچ START کمانڈ کو جاری رکھنے سے پہلے پروگرام کے ختم ہونے کا انتظار کرنے کے لیے کہتا ہے۔

چوتھی لائن ایکو نوٹ پیڈ کو پڑھتی ہے۔ جب نوٹ پیڈ کامیابی کے ساتھ پس منظر میں کھولا جاتا ہے، تو یہ صارف کو محض ایک پیغام کے ساتھ مطلع کرتا ہے۔

پانچویں لائن، 'ایکو اسٹارٹنگ سیکنڈ پروگرام'، صارف کو صرف ایک پیغام دکھاتی ہے کہ دوسرا پروگرام شروع کیا جا رہا ہے۔

چھٹی لائن، 'START /WAIT mspaint.exe'، پینٹ پروگرام کو پس منظر کی ونڈو میں کھولتی ہے اور جاری رکھنے سے پہلے اس کے ختم ہونے کا انتظار نہیں کرتی ہے۔

ساتویں لائن، 'ایکو دی پینٹ کامیابی سے کھولی گئی ہے'، صارف کو صرف ایک پیغام دکھاتی ہے کہ پینٹ کامیابی کے ساتھ کھولا گیا ہے۔

آٹھویں لائن، 'cmd /k'، ایک نئی کمانڈ پرامپٹ ونڈو کھولتی ہے اور موجودہ کمانڈ پرامپٹ ونڈو کو کھلا رکھتی ہے۔

اپنی مرضی کے مطابق تاخیر کے لیے لوپ کا استعمال

ہم بیچ کے عمل میں اپنی مرضی کے مطابق تاخیر کے لیے ایک لوپ استعمال کر سکتے ہیں۔ یہاں ایک مثال ہے:

اس مثال میں، جب یہ بیچ فائل چلائی جاتی ہے تو پہلا پیغام صارف کو دکھایا جاتا ہے۔ پہلا پیغام پھر ایک بار پھر ظاہر ہوتا ہے جب 'کے لیے' لوپ شروع ہوتا ہے۔ ٹائم آؤٹ کمانڈ دوسرے پیغام کو ظاہر کرنے سے پہلے بیچ فائل کو ایک سیکنڈ کے لیے روکتا ہے۔ حتمی پیغام پھر کل 10 تکرار کے بعد دکھایا جاتا ہے۔

@echo آف

لوپ کا استعمال کرتے ہوئے تاخیر کا ایکو مظاہرہ

کے لیے /l %i میں (1,1,10) do (

ٹائم آؤٹ /t 1 /nobreak > nul

بازگشت یہ پیغام %%i سیکنڈ (s) کے بعد ظاہر ہوتا ہے

)

echo اس پیغام میں 10 سیکنڈ کی تاخیر دکھائی گئی۔

تاخیر کے لیے ٹائم آؤٹ کا استعمال

بیچ فائل کی ٹائم آؤٹ کمانڈ بیچ فائل پر عمل درآمد کو سیکنڈوں کی پہلے سے متعین تعداد کے لیے روکتی ہے۔ ترکیب یہاں دی گئی ہے:

ٹائم آؤٹ /t [/nobreak]

'/t' سوئچ انتظار کرنے کے لیے سیکنڈوں میں وقت کی مقدار بتاتا ہے۔ '/nobreak' سوئچ تاخیر کو توڑنے کے لیے صارف کی جانب سے کلیدی دبانے کو غیر فعال کر دیتا ہے۔

'ٹائم آؤٹ' کمانڈ کو استعمال کیا جا سکتا ہے:

  • بیچ فائل کے عمل کو پہلے سے متعین مدت کے لیے ملتوی کریں۔
  • بیچ فائل کی کارروائی کو صارف کے ذریعہ رکاوٹ بننے سے روکیں۔
  • صارف کو جاری رکھنے کے لیے کلید دبانے سے روک کر مزید صارف دوست تجربہ بنائیں

مثال کے طور پر، درج ذیل بیچ فائل 10 سیکنڈ کے لیے رک جاتی ہے:

@echo آف

echo ہیلو، اسکرپٹ پر عمل درآمد 10 سیکنڈ کی تاخیر کے بعد جاری ہے۔

ٹائم آؤٹ /t 10

بازگشت شکریہ!

جیسا کہ مندرجہ ذیل اسکرین شاٹ میں دکھایا گیا ہے، ایک ٹائمر چل رہا ہے اور صارف کے کسی بھی کلید کو دبانے سے 'ٹائم آؤٹ' کمانڈ میں خلل ڈالنے کا انتظار کر رہا ہے۔ اگر صارف کسی بھی کلید کو دباتا ہے، تو عمل رک جاتا ہے اور بیچ فائل میں اگلی کمانڈ پر چلا جاتا ہے:

مندرجہ ذیل اسکرین شاٹ میں صارف 5 سیکنڈ کے بعد 'ٹائم آؤٹ' کمانڈ کو روکتا ہے، جس کے نتیجے میں 'شکریہ!' ڈسپلے ہوتا ہے۔ پیغام:

مندرجہ ذیل اسکرین شاٹ سے پتہ چلتا ہے کہ 'آپ کا شکریہ!' پیغام کو اسکرین پر پرنٹ کرنے میں 10 سیکنڈ لگتے ہیں اگر اختتامی صارف ٹائم آؤٹ ہدایات میں خلل نہیں ڈالتا ہے:

یہ اپ ڈیٹ شدہ کوڈ ہے جس میں نو بریک سوئچ شامل کرنے کے لیے ترمیم کی گئی ہے جو اختتامی صارف کو بیچ فائل کے عمل میں رکاوٹ ڈالنے سے روکتا ہے:

@echo آف

rem یہ بیچ فائل 10 سیکنڈ کے لیے رک جاتی ہے۔

echo ہیلو، اسکرپٹ پر عمل درآمد 10 سیکنڈ کی تاخیر کے بعد جاری ہے۔

ٹائم آؤٹ /t 10 /nobreak

rem 10 سیکنڈ کے بعد یہ کمانڈ پرامپٹ اسکرین پر ظاہر ہوگی۔

بازگشت شکریہ!

یہاں پچھلے کوڈ کا آؤٹ پٹ ہے:

اگر صارف 'CTRL+C' کمانڈ استعمال کرتا ہے تو کمانڈ لائن صارف کو Y یا N ٹائپ کرنے کا اشارہ کرتی ہے۔ اگر صارف Y پر کلک کرتا ہے، تو یہ بیچ جاب روک دیا جاتا ہے:

'توقف'، 'انتظار'، اور 'ٹائم آؤٹ' کمانڈز ہمارے اسکرپٹ کے بہاؤ کو کنٹرول کرنے کے طریقے ہیں۔ اسکرپٹ کو چلنے سے روک دیا جاتا ہے جب 'pause' کمانڈ استعمال کی جاتی ہے، اور جب 'ٹائم آؤٹ' کمانڈ استعمال کی جاتی ہے تو اسے پہلے سے طے شدہ وقت کے لیے روک دیا جاتا ہے۔

بہاؤ کنٹرول کے لیے مشروط بیانات کا استعمال

مشروط بیانات عام طور پر قابل عمل تکنیک ہیں جو کسی خاص حالات کی بنیاد پر اسکرپٹ کے بہاؤ کو تبدیل کرنے کے لیے استعمال کی جاتی ہیں۔ اس بنیاد پر کہ آیا کوئی شرط درست ہے یا غلط، 'اگر' بیان کوڈ پر عمل درآمد کے دو ٹکڑوں میں سے ایک انجام دیتا ہے۔ 'اگر' بیان کی تشکیل اس طرح کی گئی ہے:

اگر ورنہ

مثال:

نوٹ پیڈ یا اپنی پسند کا کوئی بھی ٹیکسٹ ایڈیٹر کھولیں اور درج ذیل کوڈ کو لکھیں جو ان پٹ ویلیو متغیر کی قدر کو تیسری لائن میں 1 کر دیتا ہے۔ پھر inputValue متغیر کی قدر کو رن ٹائم پر 'if' سٹیٹمنٹ کا استعمال کرتے ہوئے چیک کیا جاتا ہے کہ آیا یہ 1، 2، یا 3 کے برابر ہے۔ اگر یہ نہیں ہے تو، حتمی پیغام ظاہر ہوتا ہے. ایک مشروط بیان میں جسے 'if' کہا جاتا ہے، ایک متغیر کی ان پٹ ویلیو کو چیک کیا جاتا ہے کہ آیا یہ 1، 2، یا 3 کے برابر ہے۔ اگر شرط درست ہے تو، مشروط بیان کچھ نہیں کرتا۔

@echo آف

rem یہ اسکرپٹ متغیر ان پٹ ویلیو کو 1، 2 اور 3 کی اقدار کے خلاف جانچتا ہے۔

inputValue=1 سیٹ کریں۔

اگر '%inputValue%'=='1' (

echo ان پٹ ویلیو 1 کے برابر ہے۔

) ورنہ اگر '%inputValue%'=='2' (

echo ان پٹ ویلیو 2 کے برابر ہے۔

) ورنہ اگر '%inputValue%'=='3' (

echo ان پٹ ویلیو 3 کے برابر ہے۔

) اور (

echo متغیر ان پٹ ویلیو 1، 2، یا 3 کے برابر نہیں ہے۔

)

آؤٹ پٹ:

نتیجہ

اسکرپٹ کے بہاؤ کو کنٹرول کیا جا سکتا ہے، اور ونڈوز آپریٹنگ سسٹم پر کمانڈز، لوپس، اور مشروط بیانات جیسے 'اگر' کا استعمال کرتے ہوئے عمل کو خودکار بنایا جا سکتا ہے۔ ڈویلپرز 'ٹائم آؤٹ' یا 'پنگ' کا استعمال کرکے اسکرپٹ کے عمل کو روک سکتے ہیں یا 'پاز' کمانڈ کے ساتھ تاخیر کا اضافہ کر سکتے ہیں۔ اگرچہ بیچ اسکرپٹنگ میں کوئی بلٹ ان 'سوئچ' بیان نہیں ہے، لیکن ہم اسے 'if' اور 'else if' اظہار کے ساتھ نقل کر سکتے ہیں۔ اس بات کو یقینی بنانے کے لیے جانچ بہت ضروری ہے کہ یہ اسکرپٹ مناسب تناظر میں کام کرتے ہیں۔ یہ اسکرپٹ آٹومیشن، سسٹم مینجمنٹ، اور فائل میں ہیرا پھیری کے لیے کارآمد ہیں۔