Copiar Carpetas

Copiar Carpetas
Artículo
Citar    Descargar mensaje  
Mensaje Copiar Carpetas 
 
Hola.

con esto:

COPY Application.Path & "/archivo" TO User.home & "/archivo"

pero yo quiero copiar una  carpeta entera.

como lo hago?

Mi programa tiene muchos archivos en diferentes carpetas,
necesitaría bastantes lineas de código para ir creando carpetas y copiando los archivos.



 
pittusa - Perfil MP  
pittusa [ Viernes, 25 Febrero 2011, 20:18 ]


Copiar Carpetas
Comentarios
Citar    Descargar mensaje  
Mensaje Re: Copiar Carpetas 
 
Puedes hacerlo así por ejemplo:

SHELL "cp -av DIRECTORIO_ORIGEN DIRECTORIO_DESTINO"



 
karpaga - Perfil MP  
karpaga [ Viernes, 25 Febrero 2011, 20:49 ]
Citar    Descargar mensaje  
Mensaje Re: Copiar Carpetas 
 
Utiliza unos Arrays y algo de recursividad y listo

PUBLIC SUB copia_dir(path_origen AS String, path_destino AS String, OPTIONAL tipo as String)

 DIM arDir AS string[]
 DIM arFile AS string[]
 DIM nombredir, nombrefile AS String

 IF  NOT tipo then tipo="*"
 IF NOT Exist(path_destino) THEN
    MKDIR path_destino
 ENDIF
 arfile = Dir(path_origen, tipo, gb.file)  'extraemos los ficheros
 FOR EACH nombrefile IN arfile  'los copiamos
       COPY path_origen &/ nombrefile TO path_destino &/ nombrefile
 NEXT
 ardir = Dir(path_origen, "*", gb.Directory)
 FOR EACH nombredir IN arDir 'extraemos los subdirectorios
        copia_dir(path_origen &/ nombredir, path_destino &/ nombredir) 'usamos la recursividad
    NEXT
END
 


Suerte



 
última edición por shordi el Viernes, 25 Febrero 2011, 21:12; editado 2 veces 
Editado por Invitado, Jueves, 01 Enero 1970, 01:00:
shordi - Perfil MP  
shordi [ Viernes, 25 Febrero 2011, 20:59 ]
Citar    Descargar mensaje  
Mensaje Re: Copiar Carpetas 
 
Hola

El problema con esto: SHELL "cp -av DIRECTORIO_ORIGEN DIRECTORIO_DESTINO"

que una vez creado el deb no funciona. si el directorio origen es application.path.

Yo tengo una carpeta en el directorio datos de gambas llena de directorios y ficheros,
quiero que al crear el deb y luego ejecutar el programa se copie esa carpeta donde yo quiera.

si la carpeta que esta dentro de datos se llama (carpeta)

esto tampoco funciona:

COPY Application.Path &/ "carpeta/archivo" TO User.home &/ "archivo"

estoy pensando en meter en datos un archivo comprimido con la dicha carpeta copiarla después donde quiera y descomprimirla allí.

gracias



 
pittusa - Perfil MP  
pittusa [ Viernes, 25 Febrero 2011, 21:31 ]
Citar    Descargar mensaje  
Mensaje Re: Copiar Carpetas 
 
una vez instalado no uses

Application.Path, usa símplemente COPY "datos/carpeta" to user.home &/ "archivo"

Suerte



 
shordi - Perfil MP  
shordi [ Viernes, 25 Febrero 2011, 21:39 ]
Citar    Descargar mensaje  
Mensaje Re: Copiar Carpetas 
 
Bueno..

Como no hay bien que por mal no venga..

he comprimido la carpeta de mi programa carpeta_programa.tar.gz.
la he incluido en datos.

y despues en el codigo:

 
IF NOT Exist(User.home & "/carpeta_programa") THEN

  COPY "carpeta_programa.tar.gz" TO User.home &/ "carpeta_programa.tar.gz"
  SHELL "tar -xzvf carpeta_programa.tar.gz" WAIT 'como la carpeta va al directorio del usuario no hace falta ruta.

  ENDIF


Funciona de maravilla.

Edemas ahora el deb me pesa la mitad de 1,50 megas a 207 kb.

He creado el deb lo he instalado en otra maquina y todo bien.

Shordi!

Si pongo esto: COPY "datos/carpeta_programa.tar.gz" TO User.home &/ "carpeta_programa.tar.gz" no funciona

funciona sin poner el directorio datos.

gracias



 
última edición por pittusa el Viernes, 25 Febrero 2011, 22:37; editado 2 veces 
pittusa - Perfil MP  
pittusa [ Viernes, 25 Febrero 2011, 22:35 ]
Mostrar mensajes anteriores:    
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 


   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4762s (PHP: -79% SQL: 179%)
Consultas SQL: 47 - Debug off - GZIP Activado