একটি ব্যাচ ফাইলে সহজ কমান্ডগুলির একটি তালিকা লেখার সমস্যা হচ্ছে


1

আমি এক ব্যাচ মধ্যে কয়েক সহজ ব্যাচ কমান্ড চালানোর চেষ্টা করছি।
যে ক্ষেত্রে প্রতিটি কমান্ড নিম্নরূপ একটি ব্যাচ কমান্ড:

 rails generate scaffold illness name:string
 rails generate scaffold ingredient name:string origin_id:integer

এখন, 30 টি কমান্ড চালানোর পরিবর্তে, আমার ব্যাচ ফাইলটি শুধুমাত্র প্রথম রান করে এবং প্রম্পট লাইনটিতে ফিরে আসে। তাই আমি নিজে চালানো আছে।

উত্তর:


4

আপনি শব্দ রাখা আছে call ব্যাচের ফাইলের সামনে ...

@echo off
call rails generate scaffold illness name:string
call ralis generate scaffold ingredient name:string origin_id:integer

এই অনুমান "rails" সত্যিই rails.bat হয়।


1
সঠিক, বা rails.cmd। যখন আপনি একটি কমান্ড চালাতে হয় তখন এটি বিরক্তিকর এবং এটি বুঝতে পারে না এটি একটি ব্যাচ ফাইল, যা এই সকালে আমার সাথে ঘটেছে।
Mark Allen

ধন্যবাদ। এটা কি শাসন? অভ্যন্তরীণ ব্যাচ exe হিসাবে লেখা হয় এবং ব্যাচ / cmd কল উপসর্গ সঙ্গে লেখা উচিত?
Bick

4

Jftuga দ্বারা পূর্ববর্তী উত্তর সঠিক হলে, আরো সম্পূর্ণ উত্তর নিম্নরূপ:

@echo off
call rails generate scaffold illness name:string
call ralis generate scaffold ingredient name:string origin_id:integer

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

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

notepad.exe
call notepad.exe
echo    It came back.

কিন্তু অন্য ব্যাচ ফাইলটি কল করার সময়, সামনে কোন কল না হওয়া পর্যন্ত সম্পূর্ণ প্রক্রিয়াটি নতুন প্রক্রিয়াতে প্রেরণ করা হয়। সুতরাং নিম্নলিখিত কোডে, একটি বাট ফাইলের প্রথম কলিং সম্পন্ন হলে ফিরে আসবে, কিন্তু দ্বিতীয়টি ফিরে আসবে না, তাই শেষ ইকো লাইনটি কখনই চলবে না।     firstBatch.bat কল করুন     SecondBatch.bat     আপনি এই লাইন দেখতে হবে না প্রতিধ্বনি

আমি কিভাবে রেল কমান্ড কাজ করে তা নিশ্চিত নই, কিন্তু এটি একটি ব্যাচ অধিবেশন মত মনে হচ্ছে। সম্ভবত এটি একটি ব্যাচ ফাইল ছিল। Cmd এ প্রথম দুটি কল আপনি যে শব্দের মধ্যে প্রস্থান টাইপ না হওয়া পর্যন্ত ফিরে আসবেন না, আপনাকে পূর্বের শেলে ফেরত পাঠানো হবে। দ্য কল অপ্রাসঙ্গিক। কিন্তু তৃতীয়টি সি / সি সুইচ ব্যবহার করে, যা কমান্ডটি চালানো এবং স্বয়ংক্রিয়ভাবে ফিরে যেতে বলে। আপনি যদি এটি একটি কমান্ড পাঠানোর পরে নতুন সিএমডি অধিবেশন সক্রিয় রাখতে চান তবে আপনি / কে সুইচটি ব্যবহার করেন। এই বিষয়ে আরও সাহায্যের জন্য: cmd /?

cmd
call cmd 
cmd /c dir
echo   You will see this after typing Exit twice to leave two new instances of cmd. The third instance returned automatically.
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.