मैं चार निर्देशिकाओं में सभी फ़ाइलों की एक सूची को संकलित करने की कोशिश कर रहा हूं, प्रत्येक एक अलग पथ के साथ। मेरे पास निम्न कोड है, और यह काम कर रहा है, लेकिन यह नहीं कि मैं इसे कैसे चाहता हूं
@echo off
tree d:\directory > c:\lists\4list.txt /a /f
tree e:\directory2 >> c:\lists\4list.txt /a /f
tree f:\directory3 >> c:\lists\4list.txt /a /f
tree g:\directory4 >> c:\lists\4list.txt /a /f
4list.txt में आउटपुट में प्रत्येक पंक्ति के सामने सभी ASCII वर्ण और स्थान हैं। इसमें यह भी है
+---Directory name
filename1
filename2
filename3
पेड़ में प्रत्येक निर्देशिका में सूचीबद्ध है। क्या कोई तरीका है कि मैं इस सूची को उत्पन्न कर सकता हूं, सभी विशेष वर्णों, निर्देशिका नाम, रिक्त स्थान, अतिरिक्त रेखाओं के बिना और फ़ाइल एक्सटेंशन के बिना?
मूल रूप से, मैं 2200+ फाइलों की इस सूची को बनाना चाहता हूं, इसलिए मैं इसे एक्सेल स्प्रेडशीट में कॉपी और पेस्ट कर सकता हूं कि मेरे पास सशर्त स्वरूपण सेटअप है, जो डुप्लिकेट फ़ाइलनामों पर प्रकाश डाल सकता है (हो सकता है कि डुप्लिकेट वीडियो फ़ाइलें हों, लेकिन विभिन्न प्रारूपों के साथ। mkv, .mp4, आदि)।
मुझे पता है कि मैं मैन्युअल रूप से पाठ फ़ाइल के माध्यम से जा सकता हूं, और नोटपैड की खोज / बदलें सुविधा का उपयोग करके, मैं खाली "(") के साथ सभी एक्सटेंशन को "प्रतिस्थापित" कर सकता हूं, और प्रत्येक पंक्ति की शुरुआत में अतिरिक्त वर्णों और स्थानों को मैन्युअल रूप से बदल सकता हूं। "+ --- निर्देशिका" नामों को हटाने के साथ-साथ। हालाँकि, यह RATHER समय लेने वाला हो सकता है।
मैं इस फ़ाइल को बनाना चाहता हूं, ताकि इसे प्रति दिन एक बार चलाने के लिए शेड्यूल किया जा सके, और इन ड्राइव पर फ़ाइलों की बढ़ती सूची को अपडेट किया जा सके।
अगर इस सूची में एक .txt फ़ाइल के बजाय एक एक्सेल डॉक्यूमेंट को निर्यात करने का एक तरीका है जो मुझे एक या दो कदम भी बचाएगा।
DIR /S /B "d:\directory" >> "c:\lists\4list.txt"
लेकिन अन्यथा आपको उस कमांड को FOR /F
लूप में लपेटने की आवश्यकता हो सकती है और उसके बाद कमांड ECHO %~NA
से प्रत्येक मूल्य के फ़ाइल नाम वाले हिस्से DIR
को केवल एक्सटेंशन के बिना फ़ाइल नाम दिखाने के लिए प्रतिस्थापन का उपयोग करना होगा। बाकी फ़ोल्डर पथ में प्रत्येक फ़ाइल रहता है।
gci -file "C:\test - copy" -recurse | % {$_.BaseName}
जो आप चाहते हैं उसकी शुरुआत करने के लिए?