खोज…


बुनियादी तार खोज

एक निश्चित स्ट्रिंग खोजने के लिए FIND कमांड बड़ी फाइलों को लाइन-बाय-लाइन स्कैन कर सकता है। यह खोज स्ट्रिंग में वाइल्डकार्ड का समर्थन नहीं करता है।

find /i "Completed" "%userprofile%\Downloads\*.log" >> %targetdir%\tested.log

TYPE scan2.txt | FIND "Failed" /c && echo Scan failed || echo Scan Succeeded

FINDSTR कमांड अधिक फीचर पहुंच है, और रेगुलर एक्सप्रेशंस (REGEX) सर्च स्ट्रिंग में वाइल्डकार्ड के साथ खोज का समर्थन करता है।

FINDSTR /L /C:"Completed" Results.txt

echo %%G | findstr /r /b /c:"[ ]*staff.*" >nul && echo Found!

अधिक जानकारी के लिए FIND और FINDSTR सहायता स्रोत देखें।

खोज परिणामों का उपयोग करना

निम्न स्क्रिप्ट से पता चलता है और अधिक उन्नत विभाजन फ़ाइल तकनीक, जहां समारोह के लिए एक निर्देशिका में फ़ाइलों की एक सूची के माध्यम से लूप होता है, और प्रत्येक फ़ाइल सामग्री findstr को पहुंचाया जाता है कि एक स्ट्रिंग सबस्ट्रिंग होने के कारण उसे दिखता var रिक्त स्थान की अपरिभाषित संख्या से पहले और किसी भी अतिरिक्त द्वारा अधिक्रमण पाठ। एक बार मिल जाने के बाद, खोज की गई फ़ाइल को एक नए के साथ बदल दिया जाता है जिसमें खोज स्ट्रिंग के ऊपर केवल पाठ भाग होता है।

@echo off
setlocal enabledelayedexpansion
pushd "%temp%\Test"
for %%G in ("*.txt") do (set "break="
    (for /f "tokens=*" %%H in (%%~G) do (
        if not defined break (
            echo %%H | findstr /r /b /c:"[ ]*var.*" >nul && set break=TRUE || echo %%H )
    )) >> %%~nG_mod.txt
    del %%~G & ren %%~nG_mod.txt %%G )
popd
exit /b

ध्यान दें, कैसे सेटिंग को break=TRUE खोज स्ट्रिंग के 1 घटना मिलने के बाद, खोजे गए फ़ाइल से लूप से बाहर निकलने की अनुमति देता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow