Foro de elhacker.net

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
  1. @Echo OFF
  2.  
  3. Set "var=solitaire-beach-season-3"
  4. Set "var=%var:-= %"
  5.  
  6. Echo:"%var%"
  7.  

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:

Código:
@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