Tengo este archivo por lotes y necesito omitir el 'eco' de algunas líneas. Las líneas que quiero omitir son:
W;;
A;;TE;Tr100;8;;31.79;SHIP-TE50;;
A;;TE;Tr100;8;;33.08;SHIP-TE50;;
and so on .
Quiero usar solo A;;TE;Tr100;
y luego comodín para atrapar la línea y omitir mostrarla. Funciona para W;;
pero no funciona para A;;TE;
¿Cómo podría hacerlo?
@ECHO OFF
cls
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a number=%1-1
SET "sourcedir=z:\abc\def\ghi"
SET "filename1=%sourcedir%\jklm%number%.gwl"
SET "last="
FOR /f "delims=" %%a IN ('sort "%filename1%"') DO (
IF "%%a"=="W;;" goto :break
IF "%%a"=="A;;TE;*" goto :break
IF "%%a"=="!last!" ECHO %%a
SET "last=%%a"
)
:break
GOTO :EOF
batch-file
susik
fuente
fuente
Respuestas:
Leer
if /?
; estás usando elIF [NOT] string1==string2 command
patrón de sintaxis:Nada sobre comodines . Sin embargo, podrías hacer el mejor
FINDSTR
comando :Expresiones regulares (búsqueda de patrones de texto)
FINDSTR
puede usar los siguientes metacaracteres que tienen un significado especial como operador o delimitador.FINDSTR
El soporte para expresiones regulares es limitado y no estándar , solo se admiten los siguientes metacaracteres:El siguiente fragmento de código podría ayudar:
fuente