यहाँ मेरी तीन फ़ाइल डॉस समाधान है, लेकिन अगर किसी को भी एक है कि मैं अभी भी एक उचित विंडोज 7 समाधान के लिए देख रहा हूँ:
1. search.bat
@ECHO off
FOR /r %%a IN (*.*) DO CALL process.bat %%a
खोजों सभी फ़ाइलों को रिकर्सिवली, और प्रत्येक पर process.bat
चलाता है।
2. process.bat
@ECHO Off
ECHO "%1" >> output.txt
TYPE "%1" | FINDSTR /i "search_string_here" >> output.txt
प्रत्येक फ़ाइल का नाम बाहर प्रिंट, उद्धरण में क्योंकि कुछ फाइलें बैच फ़ाइल कोड के बिना, तो खोज स्ट्रिंग, search_string_here
पाता है, और पूरे बाहर प्रिंट टूट जाएगा लाइन है कि खोज स्ट्रिंग में पाया जाता है।
3. उत्पादन।txt (नमूना उत्पादन)
उत्पादन होता है, इस प्रारूप में, मेरे project_name
जावा परियोजना D:\project_name\
में संग्रहीत में search_string_here
खोज, सभी फाइलों की खोज के साथ ही परिणाम प्रदर्शित करता है, तो वहाँ कुछ कर रहे हैं: आप ऊपर
"D:\project_name\.classpath"
"D:\project_name\.project"
<name>search_string_here</name>
"D:\project_name\content_search_all_files.bat"
"D:\project_name\output.txt"
<name>search_string_here</name>
"D:\project_name\pom.xml"
...
देख सकते हैं कि search_string_here
पाया गया था, <name>search_string_here</name>
पर पूर्ण लाइन D:\project_name\.project
फ़ाइल में ... अन्य परिणामों के बीच।
फिर भी, मैं अभी भी एक उचित विंडोज 7 समाधान की तलाश में हूं यदि किसी के पास कोई है।
चेतावनी: "रेखा बहुत लंबी है" त्रुटियां; FINDSTR छोटी हो सकती है:
जाहिर है, FINDSTR < grep, जैसा कि आप नहीं जानते थे। कैच-ऑल के एक नंबर के लिए संदेश है, "लाइन बहुत लंबी है"
जाहिर है: यहाँ एक लेख है कि findstr में त्रुटि है कि कर रहे हैं पुन: पेश नहीं है जब एक ही इनपुट एक अलग फाइल में प्रयोग किया जाता है में dives है विभिन्न त्रुटियां। FINDSTR कुछ मुद्दों है। कुछ समय पहले, मैंने कहा कि FINDSTR मामूली रूप से उपयोगी था। आज के बाद, मैं कहूंगा कि यह भी कम है जितना मैंने सोचा था कि यह तब था। - http://blog.mischel.com/2008/10/14/copying-large-files-on-windows/
+1 यह अच्छी तरह से काम करता है। मैंने कुछ मामूली सुधार किए: 'file.bat %% a% 1' कहने के लिए पहली फ़ाइल को बदलना, और दूसरी फ़ाइल' FINDSTR/i "% 2" '; और 'process.bat' के पथ को'% ~ dp0 \ process.bat' में बदल रहा है। पहला परिवर्तन मुझे हार्ड-कोडेड होने की बजाय कमांड लाइन से खोज स्ट्रिंग में पास करने की अनुमति देता है। दूसरा पैरामीटर मुझे हर जगह चार बैच फ़ाइलों की प्रतिलिपि बनाने के बिना एक अलग निर्देशिका से खोज दिनचर्या चलाने की अनुमति देता है, जिसे मैं खोजना चाहता हूं। चीयर्स :) – mellamokb
हा हा हा, महाकाव्य। मुझे इस तथ्य से प्यार है कि W7 में खोज इतनी खराब है कि लोग डॉस का सहारा ले रहे हैं। विशिष्ट एमएस, मैं अभी भी बिल गेट्स (SurfaceRT पर) पर बैठकर कह सकता हूं कि "यह एक टैबलेट है - एक स्टैंड के साथ"। एक स्टैंड! –
@mellamokb, महान जोड़ों। – Xonatron