varios valores usar txt texto mostrar linea leer guardar especifica ejemplos datos crear como comandos batch bat avanzados archivos archivo file text batch-file dos

file - valores - Extrae parte de un archivo de texto usando lote dos



leer y mostrar archivo de texto en php (4)

Aquí hay una forma de hacerlo cuando "wordA" y "wordB" no están en la misma línea. Envía salida a Output.txt. Ese será el texto entre la primera "palabra A" y la primera "palabra B" en el archivo de entrada (distingue entre mayúsculas y minúsculas). No especificó qué hacer si hay conjuntos de palabra A / B múltiples (o no coincidentes).

: RemoveWordB reemplaza "wordB" con un carácter que no esperamos en el texto que luego usaremos como delimitador (`en este caso). usa otro personaje si es necesario.

@ECHO OFF SET InFile=Test.txt SET OutFile=Output.txt IF EXIST "%OutFile%" DEL "%OutFile%" SET TempFile=Temp.txt IF EXIST "%TempFile%" DEL "%TempFile%" FOR /F "tokens=*" %%A IN (''FINDSTR /N "wordA" "%InFile%"'') DO ( CALL :RemovePrecedingWordA "%%A" FOR /F "tokens=1 delims=:" %%B IN (''ECHO.%%A'') DO ( MORE +%%B "%InFile%"> "%TempFile%" FINDSTR /V "wordB" "%TempFile%">> "%OutFile%" FOR /F "tokens=*" %%C IN (''FINDSTR "wordB" "%InFile%"'') DO ( CALL :RemoveWordB "%%C" IF EXIST "%TempFile%" DEL "%TempFile%" GOTO :eof ) ) ) GOTO :eof :RemovePrecedingWordA SET String=%~1 SET String=%String:*wordA =% ECHO.%String%> "%OutFile%" GOTO :eof :RemoveWordB REM Replace "wordB" with a character that we don''t expect in text that we will then use as a delimiter (` in this case) SET LastLine=%~1 SET LastLine=%LastLine:wordB=`% FOR /F "tokens=1 delims=`" %%A IN (''ECHO.%LastLine%'') DO ECHO.%%A>> "%OutFile%" GOTO :eof

Tengo un archivo de texto y me interesa tener solo una parte, todo lo que se incluye entre wordA y wordB

¿Es posible usar un archivo de dos por lotes? muchas gracias.


Aquí hay una manera de hacerlo. Suponiendo que la palabra A y la palabra B están en la misma línea (ambas deben estar presentes). La subrutina: FindString elimina el texto anterior no deseado y luego reemplaza "wordB" con un carácter que no esperamos en el texto que luego usaremos como delimitador (`en este caso). usa otro personaje si es necesario.

@ECHO OFF SET InFile=Test.txt FOR /F "tokens=*" %%A IN (''FINDSTR "wordA" "%InFile%" ^| FINDSTR "wordB"'') DO CALL :FindString "%%A" pause GOTO :eof :FindString SET String=%~1 SET String=%String:*wordA =% SET String=%String: wordB=`% FOR /F "tokens=1 delims=`" %%A IN (''ECHO.%String%'') DO ECHO.%%A] GOTO :eof



Me pueden llamar para pedir aclaraciones, pero ... ¿Cuál de los 2 archivos que proporcionó es el archivo con el que está trabajando? Tampoco es un archivo de texto. ¿Qué es exactamente "palabraA" y "palabraB"?