2013-05-14 13 views
5

बिना साथ बैच में फ़ाइलें हटाएँ मैं आदेशत्रुटि संदेश

del "info*" 

का उपयोग "जानकारी" के साथ शुरू फ़ाइलों के एक समूह को हटाने के लिए। समस्या यह है कि कभी-कभी कम से कम इनमें से एक फ़ाइल मौजूद है, इसलिए वे हटा दिए जाते हैं और अन्य बार कोई फ़ाइल मौजूद नहीं होती है और त्रुटि संदेश होता है। यदि मेरी फ़ाइलें मौजूद नहीं हैं तो मुझे अपनी स्क्रिप्ट को अवरुद्ध नहीं करना चाहिए।

मैं डेल/के लिए विकल्प देखता हूं? लेकिन कुछ भी आगे जाने में मेरी मदद नहीं करता है।

क्या आप मेरी मदद कर सकते हैं, कृपया?

IF EXIST [Filename] (
    del [Filename] 
) ELSE (
    ... 
) 
+0

क्या आप 'del/q info *। *' का उपयोग कर रहे हैं? –

+0

मुझे लगता है कि/क्यू पैरामीटर केवल आपको पुष्टिकरण संदेश छोड़ने की अनुमति देता है, यह अभी भी एक त्रुटि आउटपुट करेगा "[...]"। शायद गलत हो सकता है हालांकि – RelevantUsername

उत्तर

9

इस कोशिश:

del "file to delete" >nul 2>&1 
del "info*" >nul 2>&1 

यह nul करने के लिए सामान्य और त्रुटि संदेश भेजता है

+0

आपको बहुत धन्यवाद, यह अच्छा है! – new

4

आप कुछ इस तरह की कोशिश की थी।

del "file to delete" 2>nul 
del "info*" 2>nul 

यह केवल nul पर त्रुटि संदेश भेजता है।

3

एक और तरीका यह एक हो सकता है:

for /f "delims=" %a in ('dir /B /S info*') do del "%a"

यह उपयुक्त फ़ाइलों की एक सूची प्राप्त करने के लिए एक निर्देशिका करेंगे। यदि कोई पाया जाता है, तो प्रत्येक "डेल" के लिए करें।

थोड़ा सा ओवरकिल दिखता है, लेकिन "फ़ाइल जानकारी * नहीं मिली" जैसी त्रुटियों को रोक देगा।

संबंधित मुद्दे