Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: tienty en 2 Abril 2013, 01:03 am



Título: [Batch] Problema variable con comillas
Publicado por: tienty en 2 Abril 2013, 01:03 am
Voy a intentar explicar el problema, espero que se entienda...
Estoy añadiendo los tags de metadata a un archivo con ffmpeg y una de las variables contiene espacios por tanto para que el .bat lo interprete como un todo, tengo que usar comillas.

Código:
-metadata iTunMOVI="%iTunMOVI%"

El problema está en que esa variable además de contener espacios también contiene comillas y el .bat no diferencia las comillas que delimitan la variable con las que hay dentro de la variable.
Supongo que sería hacer una especie de comillas de las comillas.. pero he probado con ""%iTunMOVI%"" y no ha funcionado...

¿Alguna idea?


Título: Re: [Batch] Problema variable con comillas
Publicado por: Meine programmen en 2 Abril 2013, 16:48 pm
No estoy muy seguro, pero quizas funcione utilizando:
Código:
-metadata "iTunMOVI=%iTunMOVI%"


Título: Re: [Batch] Problema variable con comillas
Publicado por: tienty en 2 Abril 2013, 21:51 pm
No estoy muy seguro, pero quizas funcione utilizando:
Código:
-metadata "iTunMOVI=%iTunMOVI%"

Lo solucioné poniendo en la variable un \ delante de cada comilla, es decir reemplacé las " por \" y funcionó :)

Una pregunta más.. cuando meto en una variable una palabra con una tilde sale un simbolo extraño... no la letra con la tilde.. ¿Cómo soluciono esto?

Gracias de nuevo!


Título: Re: [Batch] Problema variable con comillas
Publicado por: Meine programmen en 3 Abril 2013, 11:30 am
Para eso si que tengo solucion. Batch usa un tipo de letra llamado terminal, que tiene cambiados los "caracteres especiales" (ñ, à, ü, í, ¿, etc). En el Mapa de Caracteres, cuando seleccionas como fuente "terminal" te salen todos los caracteres que puedes usar en un batch, simplemente selecciona el que necesites y copialo.  :)


Título: Re: [Batch] Problema variable con comillas
Publicado por: Eleкtro en 3 Abril 2013, 13:47 pm
O puedes hacer la conversión fácilmente:

Código:
Copy con "archivo.txt"

(escribes la letra deseada)

Y luego Ctrl+Z

Slaudos.