https://foro.gambas-es.org/viewtopic.php?f=1&t=2940
-----------------------------------
jsbsan
Viernes, 01 Marzo 2013, 21:14

Nombre De Archivos Con Espacios Y/o Acentos...
-----------------------------------
Por si le sirve a alguien...

He tenido problemas usando la orden Shell para usar archivos con espacios y/o acentos...

La solución la he encontrado en este blog [url=http://www.elrincondetolgalen.com/2008/12/16/usar-espacios-en-blanco-en-los-nombres-de-los-ficheros-en-bash/]Enlace, donde, aunque hablan de Bash, tambien me ha servido la solución...

La solución consiste en poner entre comillas el nombre del fichero, por ejemplo

[code linenumbers=false syntax=gambas]
 Shell "cp \"hola mundo.txt\" \"hola_múndo.txt\""
[/code]

Este ejemplo hace una copia del fichero: hola mundo.txt
y lo copia con el nombre:hola_múndo.txt

Como veis he usado el espacio y la letra acentuada ú en los nombre de los ficheros


-----------------------------------
shordi
Viernes, 01 Marzo 2013, 21:39

Re: Nombre De Archivos Con Espacios Y/o Acentos...
-----------------------------------
Mejor usa la función quote.shell(Expresión), te lo hace solito.


-----------------------------------
jguardon
Viernes, 01 Marzo 2013, 21:51

Re: Nombre De Archivos Con Espacios Y/o Acentos...
-----------------------------------
@shordi  +1


-----------------------------------
jsbsan
Viernes, 01 Marzo 2013, 21:52

Re: Nombre De Archivos Con Espacios Y/o Acentos...
-----------------------------------
Shordi:
No la conocia, ¿como haria el ejemplo que yo he puesto?


-----------------------------------
shordi
Sabado, 02 Marzo 2013, 10:43

Re: Nombre De Archivos Con Espacios Y/o Acentos...
-----------------------------------
Bueno, he pasado el ejemplo a la práctica y veo que el tema es incompleto. shell(Expresión) te escapa los caracateres especiales, espacios, etc. Pero cuando el nombre los contiene, no sabe distinguir los espacios que están dentro de los espacios separadores de parámetros, como el tema te toca hacerlo a tí... pues como que no vale demasiado la pena.


[code linenumbers=false syntax=gambas]Public Sub Button1_Click()

dim a as string
a=shell("cp hola mundo.txt hola_mundo.txt")
print a
a=shell("cp \"hola mundo.txt\" hola_mundo.txt")
print a
a="cp \"hola mundo.txt\" hola_mundo.txt"
print a

End[/code]


Da como resultado que sólo la tercera línea funcionaría.
En otras palabras, de lo que no te libras es de encerrar entre comillas aquellas cadenas que sean nombres en sí mismas. 
Estos anglófonos....


