যে কেউ সিএমডি স্ক্রিপ্ট আছে তা / এবং অথবা কোনও কমান্ড লাইন সরঞ্জাম কাজের জন্য প্রস্তুত কিনা তা জানেন?
যে কেউ সিএমডি স্ক্রিপ্ট আছে তা / এবং অথবা কোনও কমান্ড লাইন সরঞ্জাম কাজের জন্য প্রস্তুত কিনা তা জানেন?
উত্তর:
নীচে তিনটি ব্যাচের ফাইল তৈরি করুন। মেইন.ব্যাট 1.bat এবং 2.bat চালু করে
1.bat এবং 2.bat অস্থায়ী ফাইলগুলি লিখুন যার জন্য মেইন.ব্যাট চেক করে। 1.bat এবং 2.bat কাজ করার সময়, main.bat পুনরায় জানায় যে প্রক্রিয়াজাতকরণ এখনও চলছে। আপনি যখন 1.bat বা 2.bat এর খোলা উইন্ডোতে প্রবেশ চাপলে অস্থায়ী ফাইলটি মুছে ফেলা হয় এবং প্রোগ্রামটি প্রস্থান হয়। এটি .bat ফাইলের জন্য প্রসেসিং স্টপিংয়ের অনুকরণ করে। আপনি যদি 1 এবং 2.bat উভয়ের জন্য এটি করেন তবে মেইন.ব্যাট আপনাকে জানায় যে এই প্রক্রিয়াগুলির জন্য প্রক্রিয়াজাতকরণ শেষ হয়েছে। আপনি 1.bat এবং 2.bat কে যা কিছু করতে চান তা করতে পারেন, যতক্ষণ আপনি শেষ করে অস্থায়ী ফাইল সাফ করবেন। এই মুহুর্তে মেইন.বাট আপনি যা করতে চান তা করতে পারেন।
1.bat
echo %time% > 1.tmp
pause
del 1.tmp
exit
2.bat
echo %time% > 2.tmp
pause
del 2.tmp
exit
main.bat
@echo off
start "1" 1.bat
start "2" 2.bat
@ping -n 1 127.0.0.1 > nul
:loop
@echo Processing......
if not exist *.tmp goto :next
@ping -n 5 127.0.0.1 > nul
goto loop
:next
@echo Done Processing!
পর্যাপ্ত সরল, প্রদত্ত প্রক্রিয়াগুলির জন্য স্ট্যান্ডার্ড ইনপুট বা আউটপুট না দরকার। কমান্ড লাইন থেকে, বা একটি ব্যাচ ফাইলে:
process1 | process2 | process3 | process4
এটি একই সাথে সমস্ত চারটি প্রক্রিয়া চলবে এবং যতক্ষণ না তারা সমস্তগুলি বেরিয়ে আসে ততক্ষণ ফিরে আসবে না। (সম্ভাব্য ব্যতিক্রম: যদি কোনও প্রক্রিয়া স্পষ্টভাবে স্ট্যান্ডার্ড আউটপুটটি বন্ধ করে দেয় তবে এটি সম্ভবত বেরিয়ে এসেছিল বলে মনে করা হবে। তবে এটি অস্বাভাবিক, খুব কম প্রক্রিয়া এটি করে))
আপনি ঠিক কতগুলি প্রক্রিয়া একই সাথে চালু করতে পারবেন তা আমি নিশ্চিত নই। আমি দশ পর্যন্ত চেষ্টা করেছি।
এটি করার একমাত্র উপায় হ'ল পৃথক ব্যাচ ফাইলগুলি শুরু করা (দেখুন start /?
) যা পৃথক টাস্কটি চালায় এবং সম্পূর্ণ হওয়ার পরে একটি পাঠ্য ফাইল লিখুন। তারপরে, আপনি পর্যায়ক্রমে পরীক্ষা করে দেখুন যে পাঠ্য ফাইলগুলি করা হয়েছে কিনা।
আপনি পাওয়ারশেল স্টার্ট-জব সেমিডিলেটটি দেখতে পারেন। এটি আপনাকে এটি করার অনুমতি দেওয়া উচিত। এখানে আরও পাওয়ারশেল হ'ল মাইক্রোসফ্টের পছন্দের শেল। এটি সিএমডি স্ক্রিপ্টগুলির চেয়ে অনেক বেশি শক্তিশালী এবং আপনার সময়ের বিনিয়োগকে ভালভাবে মূল্যায়িত করে
অথবা আপনি এটি ব্যবহার করতে পারেন: http://www.out-web.net/?p=167
আমি এটি করেছি, এটি কাজ করে, তবে এটি কখনও কখনও ঘটে থাকে যে সমাপ্ত প্রক্রিয়াটির পিআইডি তত্ক্ষণাত অন্য উইন্ডোজ প্রসেস দ্বারা পুনরায় ব্যবহার করা হয় যা সবে শুরু হয়েছিল এবং এটি আপনার প্রসেসাসের পরিণতি সনাক্তকারীকে বিপজ্জনক / ভ্রান্ত করে তোলে makes
আমিও অনুরূপ কাজ খুঁজছিলাম। উদ্দেশ্য ছিল সমান্তরাল এবং সমস্ত সমান্তরাল প্রক্রিয়াগুলির আউটপুট (স্টাডআউট এবং ত্রুটি) একাধিক কমান্ড চালানো। তারপরে সমস্ত সমান্তরাল প্রক্রিয়া শেষ হওয়ার জন্য অপেক্ষা করুন এবং অন্য কমান্ড কার্যকর করুন। বিএটি ফাইলের জন্য একটি নমুনা কোড নীচে দেওয়া হয়েছে, সিএমডিতে কার্যকর করা যেতে পারে:
(
start "" /B cmd /c ping localhost -n 6 ^>nul
timeout /t 5 /nobreak
start "" /B /D "C:\users\username\Desktop" cmd /c dir ^> dr.txt ^2^>^&^1
start "" /B cmd /c ping localhost -n 11 ^>nul
timeout /t 10 /nobreak
) | pause
Echo waited
timeout /t 12 /nobreak
ভিতরে সমস্ত বিবৃতি ()
প্রথমে কার্যকর করা হয়, সেগুলি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করুন, তারপরে শেষ দুটি লাইন কার্যকর করা হবে। সমস্ত কমান্ডের সাথে অনুরোধ start
করা একই সাথে কার্যকর করা হয়।
এই লিঙ্কগুলি সহায়ক: /programming//a/43762349/9689416 এবং https://ss64.com/nt/start.html