फ़ाइलों को हटाने के लिए स्क्रिप्ट स्क्रिप्ट


96

मेरे पास एक बैच स्क्रिप्ट है जो निम्नानुसार है।

D:
del "D:\TEST\TEST1\Archive\*.TSV" 
del "D:\TEST\TEST1\Archive\*.TXT"
del "D:\TEST\TEST2\Archive\*.TSV" 
del "D:\TEST\TEST2\Archive\*.TXT"
del "D:\TEST\TEST 100%\Archive\*.TSV" 
del "D:\TEST\TEST 100%\Archive\*.TXT"

उपरोक्त कोड फ़ोल्डर से छोड़कर सभी "फ़ोल्डर" और ".tsv" फ़ाइलों को सभी फ़ोल्डरों से हटा देता है TEST 100%TEST 100%मैं से फ़ाइलों को हटाने के लिए के रूप में त्रुटि हो रही है The Path could not be found। मुझे लगता है कि फ़ोल्डर नाम में% प्रतीक मुद्दा बनाता है। किसी ने मुझे इस मुद्दे को हल करने और फ़ोल्डर से फ़ाइलों को हटाने के लिए मार्गदर्शन कर सकते हैं TEST 100%?


आपके पास पहली पंक्ति पर एक उद्धरण क्यों है? इसके अलावा, आप उस ड्राइव का जिक्र क्यों कर रहे हैं, जब आपकी बैच फाइल पहले ही लाइन के साथ उस ड्राइव में बदल गई थी? मैंने आपकी समस्या की नकल करने की कोशिश की और सब कुछ काम कर गया। क्या आपने पुष्टि की है कि टेस्ट 100% में आर्काइव मौजूद है?
रोनाल्डबर्ज़ेल

जवाबों:


112

आपको दूसरे के साथ% से बचने की आवश्यकता है ...

del "D:\TEST\TEST 100%%\Archive*.TXT"

मैं ओपी के लिए बात नहीं कर सकता, लेकिन मेरे सिस्टम पर% के साथ एक रास्ता खोजने में कोई समस्या नहीं है, और %% के साथ भागने से सिस्टम को खोजने से बचा रहता है।
रोनाल्डबर्ज़ेल

@ user1161318 - मैंने इसे विंडोज 7 पर परीक्षण किया। भागने के बिना, एक बैच फ़ाइल में, "सिस्टम निर्दिष्ट पथ नहीं पा सकता है" में परिणाम। जैसा कि मैंने पोस्ट किया यह काम करता है।
रोस फ्रीमैन

ठीक है, एक्सपी पर मुझे विपरीत परिणाम मिलते हैं। यह% के साथ पथ को ठीक पाता है, लेकिन %% के साथ इसे खोजने में विफल रहता है।
रोनाल्डबर्ज़ेल

5
मेरा अनुमान है कि आप इसे कमांड प्रॉम्प्ट से कर रहे हैं न कि बैच फ़ाइल से।
रशियन फ्रीमैन

2
शायद तुम सही हो। मैं भूल जाता हूं कि एक बैच फ़ाइल के भीतर% एक परिवर्तनशील उपसर्ग है और आपको इससे बचने की आवश्यकता है। +1
रोनाल्डब्रज़ेल

12

बैच में काम करने के कई तरीके हैं, इसलिए यदि दोहरे प्रतिशत के साथ भागना %%आपके लिए काम नहीं कर रहा है, तो आप कुछ इस तरह की कोशिश कर सकते हैं:

set olddir=%CD%
cd /d "path of folder"
del "file name/ or *.txt etc..."
cd /d "%olddir%"

यह कैसे काम करता है:

set olddir=%CD%चर "olddir"या किसी अन्य चर नाम को आप जिस निर्देशिका में अपनी बैच फ़ाइल से लॉन्च करना चाहते हैं, वह सेट करता है।

cd /d "path of folder"वर्तमान निर्देशिका को बदलकर बैच को देखा जाएगा। आप जिस भी रास्ते के लिए लक्ष्य कर रहे हैं, उसके उद्धरण और फ़ोल्डर का पथ परिवर्तित करें।

del "file name/ or *.txt etc..."आपके बैच को जिस मौजूदा निर्देशिका में देख रहे हैं, उस फ़ाइल को हटा देगा, बस फ़ाइल नाम से पहले एक निर्देशिका पथ न जोड़ें और बस पूर्ण फ़ाइल नाम हो या, उसी एक्सटेंशन के साथ *.txtया जिस भी एक्सटेंशन की आवश्यकता हो , उसी एक्सटेंशन के साथ एकाधिक फ़ाइलों को हटाने के लिए ।

cd /d "%olddir%"अपने पुराने पथ के साथ सहेजे गए चर को लेता है और उस निर्देशिका पर वापस जाता है जिसे आपने बैच के साथ शुरू किया था, यह महत्वपूर्ण नहीं है यदि आप नहीं चाहते कि बैच अपने पिछले निर्देशिका पथ पर वापस जाए, और जैसा कि चर नाम से पहले बदला जा सकता है। आप जो भी चाहते हैं बदलकर set olddir=%CD% line


इसके माध्यम से सबसे अच्छा किया जाता है pushd "folder" && del "filename" & popd
नूनो एन्ड्रे

10

कहते हैं कि आपने अपने सॉफ़्टवेयर को अपने डेस्कटॉप पर सहेजा है।
यदि आप एक संपूर्ण फ़ोल्डर को अनइंस्टॉलर प्रोग्राम की तरह हटाना चाहते हैं तो आप इसका उपयोग कर सकते हैं।

cd C:\Users\User\Detsktop\
rd /s /q SOFTWARE

यह सॉफ्टवेयर और उसके सभी फ़ाइलों और सबफ़ोल्डरों नामक संपूर्ण फ़ोल्डर को हटा देगा

सुनिश्चित करें कि आप सही फ़ोल्डर को हटा दें क्योंकि यह एक हाँ / नहीं विकल्प नहीं है


4

विचार करें कि जिन फ़ाइलों को आपको हटाने की आवश्यकता है, उनमें एक एक्सटेंशन है txtऔर वह स्थान में स्थित है D:\My Folder, तो आप बैट फ़ाइल के अंदर नीचे दिए गए कोड का उपयोग कर सकते हैं।

cd "D:\My Folder"
DEL *.txt 

-7

बैच कोड में आपके पथ में कोई स्थान नहीं होना चाहिए ताकि pls अपना फ़ोल्डर नाम "TEST 100%" से "TEST_100%" में बदल दें और आपका नया कोड del "D: \ TEST \ TEST_100% \ संग्रह * .TXT हो जाएगा।

आशा है कि यह आपकी समस्या का समाधान करेगा


6
उस बारे में कभी नहीं सुना। क्या वह नया है? -सर्मास बंद। यह बिना रिक्त स्थान के साथ काम करता है, जब तक आप इसे उद्धरण चिह्नों में सेट करते हैं।
ब्लैकटंपेल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.