কমান্ড এবং পরেরটির মধ্যে একটি উইন্ডোজ ব্যাচ ফাইলে কিছুক্ষণের জন্য মৃত্যুদন্ড স্থগিত করা যায় কীভাবে?
কমান্ড এবং পরেরটির মধ্যে একটি উইন্ডোজ ব্যাচ ফাইলে কিছুক্ষণের জন্য মৃত্যুদন্ড স্থগিত করা যায় কীভাবে?
উত্তর:
ব্যাচ ফাইলে ঘুমানোর সঠিক উপায় হ'ল timeout
উইন্ডোজ 2000 এ প্রবর্তিত কমান্ডটি ব্যবহার করা ।
29 এবং 30 সেকেন্ডের মধ্যে কোথাও অপেক্ষা করতে :
timeout /t 30
ব্যবহারকারী যদি কোনও কী চাপায় তবে সময়সীমা ব্যাহত হবে; তবে, কমান্ডটি /nobreak
alচ্ছিক সুইচকেও গ্রহণ করে , যা ব্যবহারকারী স্পষ্ট করে বাদে চাপতে পারে এমন সমস্ত কিছুই কার্যকরভাবে উপেক্ষা করে CTRL-C
:
timeout /t 30 /nobreak
অতিরিক্তভাবে, আপনি যদি পর্দায় কমান্ডটি তার কাউন্টডাউন মুদ্রণ করতে না চান, আপনি তার আউটপুটটিকে এখানে পুনর্নির্দেশ করতে পারেন NUL
:
timeout /t 30 /nobreak > NUL
যেহেতু এটি এখানে প্রযোজ্য, আমিও আমার উত্তরটি অন্য সাইট থেকে অনুলিপি করব ।
আপনি যদি পিং ব্যবহার করতে চান তবে আরও একটি ভাল উপায় আছে। আপনি এমন কোনও ঠিকানা পিং করতে চান যা অস্তিত্বহীন, তাই আপনি মিলিসেকেন্ড যথার্থতার সাথে একটি টাইমআউট নির্দিষ্ট করতে পারেন। ভাগ্যক্রমে, এই জাতীয় ঠিকানাটি একটি স্ট্যান্ডার্ড (আরএফসি 3330) এ সংজ্ঞায়িত করা হয় এবং এটি হয় 192.0.2.x
। এটি মেক-আপ নয়, এটি সত্যই অস্তিত্বের একমাত্র উদ্দেশ্য সহ একটি ঠিকানা (এটি স্পষ্ট নাও হতে পারে, তবে এটি স্থানীয় নেটওয়ার্কগুলিতেও প্রযোজ্য):
192.0.2.0/24 - এই ব্লকটি ডকুমেন্টেশন এবং উদাহরণ কোডে ব্যবহারের জন্য "টেস্ট-নেট" হিসাবে বরাদ্দ করা হয়েছে। এটি প্রায়শই ডোমেইন নামগুলির সাথে مثال হিসাবে ..com বা বিক্রেতা এবং প্রোটোকল ডকুমেন্টেশনে উদাহরণ.net ব্যবহার করা হয়। এই ব্লকের ঠিকানাগুলি জনসাধারণের ইন্টারনেটে প্রদর্শিত হবে না।
123 মিলিসেকেন্ডের জন্য ঘুমাতে, ব্যবহার করুন ping 192.0.2.1 -n 1 -w 123 >nul
Ping
সহজভাবে হয় ভুল কাজের জন্য টুল।
আপনি লোকালহোস্টে একটি পিং sertোকাতে পারেন। এটি সম্পূর্ণ করতে 4 সেকেন্ড সময় লাগবে (ডিফল্টরূপে)। এটি কারও কারও কাছে কুলডেজ হিসাবে বিবেচিত, তবে একইভাবে একইভাবে কাজ করে।
আদেশটি:
পিং 127.0.0.1
ping
আপনার ওএসের সাথে আসে বা না আসে তা নিয়ে চিন্তা করতে হবে । আপনি '95 '98 বা আমাকে সম্পর্কে যথেষ্ট চিন্তিত থাকেন তাহলে আপনি যেমন সমানভাবে উদ্বিগ্ন 6.22 সম্পর্কে যা নেই হওয়া উচিত ping
পারেন
দাবি অস্বীকার : এটি "আদর্শ" সমাধান নয়, সুতরাং আমাকে মাথায় মারতে বিরক্ত করবেন না যাঁরা তাদের পরামর্শ দিয়েছিল ping
...
সম্ভব হলে, timeout
নিশ্চিতভাবে ব্যবহার করুন । তবে মন্তব্যে উল্লিখিত হিসাবে, এটি সর্বদা কোনও বিকল্প নয় (যেমন অ-ইন্টারেক্টিভ মোডে)। এর পরে, আমি সম্মত হই যে ping
"কুলডেজ" সম্ভবত পরবর্তী সেরা বিকল্প, কারণ এটি খুব সহজ। এটি বলেছিল, আমি অন্য একটি বিকল্প অফার করছি ... কিছু ভিবি স্ক্রিপ্ট এম্বেড করুন ।
এই সমাধানের ভিত্তিতে এর বাইরেও সমস্ত প্রকারের প্রয়োগ রয়েছে। প্রায়শই ভিবিএস এমন কাজ করতে পারে যা ব্যাচটি করতে পারে না বা খুব কমপক্ষে খুব সহজেই আরও সহজ করে দেওয়া যায়। এখানে চিত্রিত কৌশলটি ব্যবহার করে আপনি দুটি মিশ্রন করতে পারেন ("বিরামবিহীন" নয়, "কার্যকরী" ...)।
টেম্প স্ক্রিপ্ট তৈরি করতে, এটি চালনা করুন এবং তারপরে মুছুন, এখানে একটি লাইনার's স্ক্রিপ্টটি আপনার জন্য ঘুমাচ্ছে (এই উদাহরণে 3 সেকেন্ডের জন্য)।
echo WScript.Sleep 3000 > %temp%\sleep.vbs & cscript %temp%\sleep.vbs %sleepMs% //B & del %temp%\sleep.vbs
এখানে মূলত একই জিনিস, কিছুটা ভিন্নভাবে লেখা:
set sleepMs=3000 & set sleepVbs=%temp%\sleep.vbs & echo WScript.Sleep WScript.Arguments(0) > %sleepVbs% & cscript %sleepVbs% %sleepMs% //B & del %sleepVbs%
এবং পরিশেষে, তাহলে মত ping
, CScript
নিজেই একটি সময়সীমার বিকল্প আছে! সুতরাং, আপনি যদি স্ক্রিপ্টে একটি অসীম লুপ প্রবেশ করেন, আপনি দোভাষীকে সময়কাল কার্যকর করতে দিতে পারেন। দ্রষ্টব্য, এটি একটি "ব্যস্ত" অপারেশন, যা সিপিইউ খায়, এবং তাই আপনি যখন WScript.Sleep
পদ্ধতিটি ব্যবহার করতে পারেন তখন আমি এটির প্রস্তাব দিই না , তবে আমি এটি সম্পূর্ণতার জন্য ধারণামূলক বিকল্প হিসাবে উপস্থাপন করি:
set sleepSec=3 & set sleepVbs=%temp%\sleep.vbs & echo While True > %sleepVbs% & echo Wend >> %sleepVbs% & cscript %sleepVbs% //B //T:%sleepSec% & del %sleepVbs%