Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: dpedregosa en 3 Agosto 2017, 12:26 PM

Título: [Batch] - Reemplazar caracter "-" por espacio en blanco en una variable
Publicado por: dpedregosa en 3 Agosto 2017, 12:26 PM
Hola buenas, soy bastante nuevo en esto, a ver si alguien me puede echar una mano.

Tengo una variable que contiene la cadena "solitaire-beach-season-3" y me gustaría modificar esa variable de modo que quedara "solitaire beach season 3". O sea reemplazar los guiones por espacios en blanco.

¿Me podéis ayudar? gracias!

Título: Re: [Batch] - Reemplazar caracter "-" por espacio en blanco en una variable
Publicado por: Eleкtro en 3 Agosto 2017, 15:39 PM
Código (dos,4) [Seleccionar]
@Echo OFF

Set "var=solitaire-beach-season-3"
Set "var=%var:-= %"

Echo:"%var%"

Pause
Exit


Saludos
Título: Re: [Batch] - Reemplazar caracter "-" por espacio en blanco en una variable
Publicado por: dpedregosa en 3 Agosto 2017, 18:06 PM
Muchas gracias, lo había acabado yo tb encontrando después de buscar un rato. Lo que no consigo ahora es hacer lo mismo pero sustituir el caracter "-" por "%_%" ¿como sería posible esto?

O sea lo que quiero es convertir la variable que contiene "solitaire-beach-season-3" a otra que contenga "solitaire%_%beach%_%season%_%3"

Supongo que será una tontería pero al tener el % no puedo re-utilizar el ejemplo anterior que me pusiste.
Set "var=%var:-=%_%%" (no funciona)

Un saludo.
Título: Re: [Batch] - Reemplazar caracter "-" por espacio en blanco en una variable
Publicado por: Eleкtro en 3 Agosto 2017, 19:00 PM
Ten en cuenta que el caracter % está reservado para el lenguaje que delimita el inicio y el fin de una variable, por lo tanto eso que has intentado hacer te va a fallar...

...Pero eso puedes evitarlo utilizando la expansión de variables:

@Echo OFF & SetLocal EnableDelayedExpansion

Set "var=solitaire-beach-season-3"
Set "var=!var:-=%%_%%!"

Echo:"%var%"

Pause
Exit /B 0


Saludos!
Título: Re: [Batch] - Reemplazar caracter "-" por espacio en blanco en una variable
Publicado por: dpedregosa en 3 Agosto 2017, 20:29 PM
Gracias de nuevo, funciona perfecto y lo entiendo  :D