[Batch] Problema variable con comillas

Iniciado por tienty, 2 Abril 2013, 01:03 AM

0 Miembros y 1 Visitante están viendo este tema.

tienty

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.

-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?

Meine programmen

No estoy muy seguro, pero quizas funcione utilizando:
-metadata "iTunMOVI=%iTunMOVI%"
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!


tienty

Cita de: Meine programmen en  2 Abril 2013, 16:48 PM
No estoy muy seguro, pero quizas funcione utilizando:
-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!

Meine programmen

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.  :)
REMEMBER! Reality is an illusion, the universe is a hologram, BUY GOLD! BYE!!


Eleкtro

O puedes hacer la conversión fácilmente:

Copy con "archivo.txt"

(escribes la letra deseada)

Y luego Ctrl+Z

Slaudos.