4 votos

¿Cómo puedo extraer el texto antes de un carácter o cadena en un archivo por lotes?

Básicamente estoy buscando lo contrario a este puesto: https://stackoverflow.com/questions/47796707/how-to-extract-text-after-in-batch-file . Busco extraer el texto antes de un signo igual en una cadena de texto (o eliminar el texto después del signo igual y del signo igual).

Ejemplo de entrada:

User=Your Friend

Resultado deseado:

User

Como la longitud del texto antes y después del signo igual varía, no puedo usar algo como %var:~0,-12% .

3voto

DavidPostill Puntos 30286

Busco extraer el texto antes de un signo igual en una cadena de texto

Utilice el siguiente archivo por lotes (test.cmd):

@echo off
setlocal enabledelayedexpansion
set _string=User=Your Friend
echo %_string%
for /f "tokens=1 delims==" %%a in ("%_string%") do (
  echo %%a
  )
endlocal

Ejemplo de salida:

> test
User=Your Friend
User

Más información

1 votos

Bucles for son la respuesta a todo

1 votos

En este caso no se requiere una expansión retardada.

1 votos

@LotPings Cierto, sólo lo tengo en mi plantilla para cuando sea realmente necesario :)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: