08.02.2022 Views

batch-file-es Windows

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capítulo 6: Buscar cadenas en lote

Examples

Búsqueda de cadenas básicas

El comando FIND puede escanear archivos grandes línea por línea para encontrar una cadena

determinada. No admite comodines en la cadena de búsqueda.

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

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

El comando FINDSTR tiene un mayor alcance de funciones y admite la búsqueda de expresiones

regulares (REGEX) con caracteres comodín en la cadena de búsqueda.

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

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

Consulte las fuentes de ayuda de FIND y FINDSTR para obtener más información.

Usando los resultados de búsqueda

La siguiente secuencia de comandos muestra una técnica de archivos divididos más avanzada,

donde la función FOR recorre una lista de archivos en un directorio, y cada contenido de archivo

se canaliza a FINDSTR que busca una cadena que contiene la subcadena var precedida por un

número indefinido de espacios y reemplazada por cualquier extra texto. Una vez encontrado, el

archivo buscado se reemplaza por uno nuevo que contiene solo la parte de texto sobre la cadena

de búsqueda.

@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

Tenga en cuenta que la configuración de break=TRUE permite salir del ciclo FOR del archivo

buscado, una vez que se encuentra la primera aparición de la cadena de búsqueda.

Lea Buscar cadenas en lote en línea: https://riptutorial.com/es/batch-file/topic/5476/buscarcadenas-en-lote

https://riptutorial.com/es/home 16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!