Windows पर एक निर्देशिका में कोड की सभी पंक्तियों की गणना कैसे करें?


21

एक विंडोज 7 मशीन पर, मैं एक निर्देशिका ट्री में सभी फाइलों की सभी लाइनों की संख्या निर्धारित करने के लिए एक दिए गए एक्सटेंशन की फ़ाइलों के लिए एक त्वरित तरीका चाहूंगा। क्या ऐसा करने के लिए कोई अच्छा तरीका है?


1
[क्या आप विंडोज पर wc (यूनिक्स शब्द गणना कमांड) के लिए एक समान प्रोग्राम जानते हैं?] [१] [१]: stackoverflow.com/questions/247234/…

मैं wc से परिचित हूँ, काश कोई W7 इक्वीवेलेंट होता।
क्विलब्रेकर

@ (क्विलब्रेकर) वहाँ है। संपूर्ण लिनक्स / यूनिक्स कमांड लाइन टूलकिट सभी विंडोज़ आधारित प्लेटफार्मों के लिए उपलब्ध है। gnuwin32.sourceforge.net
shawty

जवाबों:


41

शक्तियां एक विकल्प है।

PS D:\Scratch\maweeras\superuser> dir -Recurse *.txt | Get-Content | Measure-Object -Line

Lines Words Characters Property
----- ----- ---------- --------
  168

1
कृपया सबूत और वैकल्पिक समाधान प्रदान करें यदि ऊपर गलत है। फिर मैं अपना उत्तर हटा दूंगा / सही कर दूंगा।
मावेरास

2
जबकि आपका उत्तर ओपी द्वारा सहायक और स्वीकृत है, लेकिन यह ओपी के प्रश्न का सही उत्तर नहीं देता है। समस्या आपके समाधान में पहले कमांड में है - dir -Recurse *.txtकेवल उन निर्देशिकाओं को प्रोसेस करेगी जिनके नाम मेल खाते हैं *.txt, उन सभी फाइलों को आउटपुट करते हुए जो उन निर्देशिकाओं और उनके उपप्रकारों में मिलती है। लेकिन ओपी केवल मैच करने वाली फाइलों को आउटपुट करते हुए सभी निर्देशिकाओं को संसाधित करना चाहता था *.txt। ऐसा करने के लिए, आप उपयोग करेंगे dir -Recurse -Include *.txt
दालचीनी

1
यह गलत है, विंडोज़ पर मदद मिलती है Get-ChildItem(जो dirकि एक उपनाम है) में कहा गया है कि Get-ChildItem –Path "*.txt" -Recurseसभी को "वर्तमान निर्देशिका और इसके उपनिर्देशिकाओं में .txt फ़ाइलों के सभी" प्राप्त करने की आवश्यकता है। लिंक: Technet.microsoft.com/library/hh849800.aspx
एंड्रयू लीप

@AndrewLeap मैंने अभी इसे फिर से परीक्षण किया - Win8 on PowerShell 4.0 के साथ यह आपके कहे अनुसार काम करता है। हालाँकि Win7 पर PowerShell 2.0 के साथ यह समस्या है जिसका मैंने वर्णन किया है। dir -Recurse -Include *.txtलगता है कि इन दोनों संस्करणों पर वांछित परिणाम हैं।
17

BOTH * .txt और * .java (संयुक्त कुल) में जाँच करने के लिए कोई इसका उपयोग कैसे करेगा?
जेरेमी मोरित्ज़

3

ऊपर maweeras उत्तर पर विस्तार करने के लिए (क्षमा करें, टिप्पणी करने के लिए पर्याप्त प्रतिनिधि नहीं), आप एक अल्पविराम-सीमांकित सरणी को -Include पास करके कई फ़ाइल एक्सटेंशन की खोज कर सकते हैं।

उदाहरण के लिए:

dir -Recurse -Include *.ts,*.tsx -Exclude *node_modules* | Get-Content | Measure-Object -Line


2

Cmd में निम्नलिखित काम करता है:

for %f in (*.TXT) do find /v /c "" "%f"

या एक [.bat] में:

for %%f in (*.TXT) do find /v /c "" "%%f"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.