सबसे पहले, आपके पास calc.exe जैसी प्रक्रिया को रोकने के लिए गलत आदेश है। नेट स्टॉप एक सेवा बंद कर देगा, लेकिन एक सामान्य कार्यक्रम प्रक्रिया नहीं। आप इसके बजाय TASKKILL चाहते हैं।
दूसरा - यदि आप जानते हैं कि यदि आप मौजूद हैं तो प्रक्रिया को मारना चाहते हैं, तो आपको क्यों लगता है कि आपको यह जांचना है कि यह इसे मारने से पहले पहले चल रहा है या नहीं? आप इस पर ध्यान दिए बिना प्रक्रिया को मारने का प्रयास कर सकते हैं। यदि यह अस्तित्व में नहीं है, तो एक त्रुटि उत्पन्न होती है, और कोई नुकसान नहीं हुआ है। यदि यह अस्तित्व में है, तो यह एक सफल संदेश के साथ मारा जाता है।
taskkill /im calc.exe
आपको त्रुटि संदेश नहीं देखना चाहते हैं, तो stderr नुल को 2>nul
का उपयोग कर अनुप्रेषित। यदि आप सफलता संदेश को नहीं देखना चाहते हैं, तो >nul
का उपयोग करके stdout को nul पर रीडायरेक्ट करें।
taskkill /im calc.exe >nul 2>nul
आप परिणाम के आधार पर कार्रवाई करने के लिए चाहते हैं, तो आप सफलता और विफलता के लिए सशर्त &&
और ||
ऑपरेटरों का उपयोग कर सकते हैं।
taskkill /im calc.exe >nul 2>nul && (
echo calc.exe was killed
) || (
echo no process was killed
)
या आप ERRORLEVEL का उपयोग परिणाम पर निर्भर करता है कि क्या करना है यह निर्धारित करने के सकता है।
यह उत्तर के बजाए एक टिप्पणी का अधिक है। – Neolisk