Extraiga un GUID de XML en un script por lotes
Tengo una cadena
<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>
Estoy tratando de eliminar DA7C36F0-A749-4CC5-9575-398C06039325
de esta línea.
Para empezar, intenté guardar esta cadena en una variable, pero no puedo hacerlo, tal vez por el <
y ?
en la cadena. Intenté:
set "var=<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>"
Pero luego pude obtener de alguna manera la cadena en tiempo de ejecución y ahora tengo la variable
line=<?define customGUID= "DA7C36F0-A749-4CC5-9575-398C06039325"?>
No puedo encontrar cómo puedo eliminar solo el valor es decir DA7C36F0-A749-4CC5-9575-398C06039325
de esta variable usando un script por lotes.
Al menos intenté eliminar el sufijo con:
set "line=%line:"?>%"
Pero obtengo un error, ¿alguien puede ayudar con un mejor enfoque?
Nota: los espacios están incluidos en la cadena.
davy.ai
Para recortar el valor
DA7C36F0-A749-4CC5-9575-398C06039325
de la cadena dada, puedes utilizar el siguiente código de script por lotes:Explicación:
– El bucle
for
extrae el valor decustomGUID
de la cadena especificandodelims==
para dividir la cadena en=
y, por lo tanto, capturando el valor como el tercer token.– El valor extraído se asigna a la variable
customGUID
.– La línea
set "customGUID=!customGUID:~1,-1!"
recorta el valor para eliminar las comillas dobles que rodean al GUID.La salida del código anterior será
DA7C36F0-A749-4CC5-9575-398C06039325
.