কেবল একটি ব্যাচ নিয়ে সমস্যা হচ্ছে এবং 'আইএফ', 'ইএলএসই' এবং 'গোটো' সম্পর্কে কিছু ব্যাখ্যা দরকার
@echo off
sc \\RemoteServer stop "My_Service"
:query
sc \\RemoteServer query "My_Service"
if %state% == 1 goto start # state =1 indicates service is stopped
else goto query
:start
sc \\RemoteServer start "My_Service"
সুতরাং, আমি যেটি ঘটতে চাই তা হল পরিষেবাটি বন্ধ করা, ব্যাচটি পরিষেবার স্থিতি সম্পর্কে জিজ্ঞাসা করা, এবং রাষ্ট্রের উপর নির্ভর করে পরবর্তী পদক্ষেপে এগিয়ে যাওয়া। এটি প্রয়োজনীয়, কারণ পরিষেবাটি থামাতে বেশ সাদা লাগে। যদি পরিষেবাটি আটকে থাকে 3 STOP_PENDING
তবে এটি sc start
ব্যর্থ হবে।
কেউ আমার গোটো কেন ব্যর্থ হচ্ছে, বা সম্ভবত আরও ভাল পদ্ধতি সরবরাহ করতে পারে তা ব্যাখ্যা করতে পারে?
টিএনএ
goto query
:goto query)
নোটপ্যাড ++ এর মতো সম্পাদক ব্যবহার করা, যার সিনট্যাক্স হাইলাইট রয়েছে, ব্যাচ স্ক্রিপ্টগুলিতে ব্লকগুলির সমস্যা সমাধানে সহায়তা করে। এবং আপনি যা কিছু করুন না কেন কোনও মন্তব্য ডিলিমিটার হিসাবে অ্যাডাস্ট্রোফ ব্যবহার করবেন না। ব্যাচ স্ক্রিপ্ট-এ শুধুমাত্র বৈধ মন্তব্য নেইREM
এবং::