অন্য একটি থেকে বা প্রম্পট থেকে উইন্ডোজ ব্যাচ ফাইল কল করার বিভিন্ন উপায়। কোনটি কোন ক্ষেত্রে?


92

একটি উইন্ডোজ ব্যাচ ফাইল ( called.batবা called.cmd) অন্য ব্যাচ ফাইল ( caller.batবা caller.cmd) বা ইন্টারেক্টিভ cmd.exe প্রম্পট থেকে বিভিন্ন উপায়ে কল করা যেতে পারে:

  1. সরাসরি কল: called.bat
  2. কল কমান্ড ব্যবহার করে: call called.bat
  3. cmd কমান্ড ব্যবহার করে: cmd /c called.bat
  4. স্টার্ট কমান্ড ব্যবহার করে: start called.bat

তাদের সহায়তার পাঠ্যের উপর ভিত্তি করে তাদের উদ্দেশ্যগুলি ব্যবহার করতে পারার জন্য আমি বেশ সমস্যায় পড়েছি: কখন কোনটি ব্যবহার করব? যেমন আমি কেন সরাসরি কলের পরিবর্তে 'কল' কমান্ডটি ব্যবহার করতে পারি। নতুন কি?

আমি কিছু সংক্ষিপ্ত প্রতিবেদনের প্রতি আগ্রহী যেগুলি বিভিন্ন দৃষ্টিকোণ থেকে সমস্ত 4 সম্ভাবনা (এবং অন্য কোনও অনুপস্থিত থাকলে) বিশ্লেষণ করে: প্রস্তাবিত ব্যবহারের ক্ষেত্রে যার জন্য তারা ফিট করার জন্য ডিজাইন করা হয়েছে, প্রক্রিয়াজাতকরণ প্রসঙ্গে, পরিবেশ, রিটার্ন কোড প্রক্রিয়াকরণ।

দ্রষ্টব্য: আমি উইন্ডোজ এক্সপি এসপি 3 ব্যবহার করছি।

উত্তর:


101
  1. ব্যাচ ফাইলটি বর্তমান cmd.exe উদাহরণ (বা একটি নতুন cmd.exe উদাহরণস্বরূপ, যদি এক্সপ্লোরারে ডাবল ক্লিক করা হয়) দ্বারা কার্যকর করা হবে।

  2. # 1 হিসাবে একই, কেবল তখন ব্যাচ / সেন্টিমিডি ফাইলের অভ্যন্তরে ব্যবহৃত হয়। কোনও ব্যাচ ফাইলে, 'কল' ছাড়াই প্যারেন্ট ব্যাচ ফাইলটি শেষ হয়ে যায় এবং নিয়ন্ত্রণটি ব্যাচ ফাইলটিতে যায়; 'কল' দিয়ে চাইল্ড ব্যাচ ফাইল চালায় এবং পিতামাতার ব্যাচ ফাইলটি কল অনুসরণ করার পরে বিবৃতি দিয়ে চালিয়ে যায়।

  3. একটি নতুন cmd.exe দৃষ্টান্তে ব্যাচ ফাইল চালায়।

  4. স্টার্টটি নতুন উইন্ডোতে নতুন সেন্টিমিডি.এক্সেক্সে ব্যাচ ফাইলটি চালাবে এবং কলার সমাপ্তির জন্য অপেক্ষা করবে না।


7
বিকল্প 4 এর জন্য দ্রষ্টব্য, শুরু কমান্ডটি সর্বদা একটি 'শিরোনাম' অনুসরণ করা উচিত , সুতরাং আপনার যদি শিরোনামের প্রয়োজন না হয় আপনার খালি ডাবল উদ্ধৃতি থাকা উচিত, যেমনstart "" [options] command
ড্যারিন

@ ড্যারিন সেই লিঙ্কটিতে কেবল উল্লেখ করা যায় যে আপনার সর্বদা একটি থাকা উচিত, তবে এমনকি মাইক্রোসফ্ট প্যারামিটারটিকে alচ্ছিক হিসাবে বর্ণনা করে। কেন এটি "প্রয়োজনীয়" হওয়া উচিত তা তারা আমাকে বলতে ব্যর্থ হন। এমনকি নীচে তাদের বেশ কয়েকটি উদাহরণ শিরোনাম প্যারামিটার বাদ দেয় it
অ্যাডাম প্লোচার

5

এখানে মন্তব্যগুলি থেকে একটি জিনিস পরিষ্কার নয়: আপনি যখন অন্য ব্যাচের একটি ফাইলের নাম সুনির্দিষ্টভাবে ব্যবহার করেন (আসল প্রশ্নে কেস # 1), কলিং ব্যাচের ফাইল থেকে মৃত্যুদন্ড বন্ধ হয়ে যায়। উদাহরণস্বরূপ, এই লাইনে:

called.bat
echo Hello

'ইকো হ্যালো' লাইন (এবং এরপরে যে কোনও কিছু) কল করা হবে না। আপনি যদি 'কল' কীওয়ার্ডটি ব্যবহার করেন, কলের পরে সম্পাদন পুনরায় শুরু হয়। সুতরাং এই ক্ষেত্রে:

call called.bat
echo Hello

'ইকো হ্যালো' লাইন কল করা হবে।

অতিরিক্তভাবে, ডাকা.ব্যাট ফাইলটিতে সেট করা সমস্ত ভেরিয়েবলগুলিও কলিং প্রক্রিয়াতে ফিরে আসবে।

এই কলটিযুক্ত একটি 'called.bat' ফাইলটি কল্পনা করুন:

set MYVAR=hello

তারপরে,% MYVAR% কলিং ব্যাচ ফাইলে এটি ব্যবহার করা থাকলে এটি ব্যবহার করা হবে:

call called.bat

কিন্তু, এটি ব্যবহার করা হবে না

REM starts a new cmd.exe process
start called.bat   

REM stops and replaces current cmd.exe process with a new one
called.bat        
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.