https://foro.gambas-es.org/viewtopic.php?f=1&t=1587
-----------------------------------
DiegoSeC
Miercoles, 27 Abril 2011, 04:43

Problemas Para Mover Carpetas En Gambas
-----------------------------------
Hola amigos :) Tengo un problemita para mover algunas carpetas en Gambas.

El asunto es el siguiente:

1. El sistema descarga un zip de internet
2. Luego se crea una carpeta "tmp" para descomprimir alli el zip
3. Una vez descomprimido el archivo, se copia el contenido de "tmp/nombre_del_zip/contenido_a_copiar" al directorio principal

Los dos primeros pasos me funciona pero cuando uso EXEC para utilizar el cp me salta un error:

"cp No puede usar 'Stat' sobre "ruta_del_programa/tmp/*/*" No existe el fichero o el archivo.

Realmente ya no se que hacer con esto, les dejo mi script:

[code linenumbers=false syntax=gambas]

'@path Ruta del programa
'@op Identificador para saber que extensión se descomprimirá 1 -> Zip 2-> tar 3->rar
'@file Nombre del archivo

PUBLIC SUB descomprimir_archivos(path AS String, op AS Integer, file AS String)

  SELECT CASE op
    CASE 1 
      EXEC ["unzip", path & file, "-d", path & "tmp"] WAIT 'Descomprimimos el zip
      PRINT "Cambiar carpeta => " & path 
      EXEC ["cp", "-r", path & "tmp/*/*", path] WAIT FOR READ AS "Prueba" 'Movemos los archivos del zip afuera de la carpeta "tmp"
    CASE ELSE 
      FMain.Label2.Text = "Error al descomprimir el archivo"
  END SELECT 
END
[/code]

Haber si me apoyan y en caso que se pueda mejorar mi código sera bien recibido :)

Gracias.


-----------------------------------
soplo
Miercoles, 27 Abril 2011, 05:20

Re: Problemas Para Mover Carpetas En Gambas
-----------------------------------
Esos parámetros que le has pasado al exec no están bien. Yo creo que el path y el tmp se te juntan (creo que debería ser path &/ tmp...), no veo a que tanto asterisco y en general ese error que citas es porque quiere hacer la copia pero no puede.

 :cool:


-----------------------------------
DiegoSeC
Jueves, 28 Abril 2011, 02:20

Re: Problemas Para Mover Carpetas En Gambas
-----------------------------------
[quote user="soplo" post="9199"]Esos parámetros que le has pasado al exec no están bien. Yo creo que el path y el tmp se te juntan (creo que debería ser path &/ tmp...), no veo a que tanto asterisco y en general ese error que citas es porque quiere hacer la copia pero no puede.

 :cool:[/quote]

Mmm pues no es el error :( path tiene la ruta así -> ruta_del_archivo/ es por eso que no coloco el / a tmp, ahora creo que el error es que el segundo EXEC no espera que el primer EXEC termine :S no se si estaré en lo correcto pero eso es la duda que tengo, como puedo hacer que el segundo EXEC espere al primero en terminar, el WAIT parece no funcionar o sera otro error que tengo.

Lo arregle usando SHELL :)

De ante mano mucha gracias :)


