Zoeken…


Basic strings zoeken

Met de opdracht FIND kunt u grote bestanden regel voor regel scannen om een bepaalde tekenreeks te vinden. Het ondersteunt geen jokertekens in de zoekreeks.

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

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

FINDSTR-opdracht biedt meer functiebereik en ondersteunt zoeken naar reguliere expressies (REGEX) met jokertekens in de zoekreeks.

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

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

Zie helpbronnen van FIND en FINDSTR voor meer informatie.

Zoekresultaten gebruiken

Het volgende script toont een geavanceerdere gesplitste bestandstechniek , waarbij de functie FOR door een lijst met bestanden in een map loopt en elke bestandsinhoud wordt doorgestuurd naar FINDSTR die zoekt naar een tekenreeks met substring var voorafgegaan door een ongedefinieerd aantal spaties en vervangen door extra tekst. Eenmaal gevonden, wordt het gezochte bestand vervangen door een nieuw bestand dat alleen het tekstgedeelte boven de zoekreeks bevat.

@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

Merk op hoe het instellen van break=TRUE mogelijk maakt om de FOR-lus uit het gezochte bestand te verlaten, zodra het eerste exemplaar van de zoekreeks is gevonden.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow