Discussion:
Copiar archivos y subcarpetas
(demasiado antiguo para responder)
Luis María Guayán
2003-07-18 14:56:13 UTC
Permalink
Enviado por "Davphantom":

Puedes hacerlo de diversas formas .... este ejemplo es utilizando WSH

ofs=createobject("scripting.filesystemobject")
ofs.copyfolder('c:\Origen','c:\Destino')

Otra forma es con el API de windows

#DEFINE FOF_NOCONFORMMKDIR 0x200
#DEFINE FOF_NOCONFIRMATION 0x010
#DEFINE FOF_SIMPLEPROGRESS 0x100

oShell = CREATEOBJECT("Shell.Application")
* lctarget is the target folder to copy to

oFolder = oShell.Namespace(lctarget)
* lcsource is the fully qualified file name of the source file

oFolder.CopyHere(lcSource, FOF_NOCONFORMMKDIR + FOF_NOCONFIRMATION +
FOF_SIMPLEPROGRESS)
--
Luis María Guayán
Vicente Trapani S.A.
Tucumán, Argentina
_____________________________________________
Microsoft Visual FoxPro MVP
SysOp de PortalFox - http://www.portalfox.com
_____________________________________________
Proteje al zorro, úsalo legalmente
estoy desarrollando un sistema en VFP para realizar backup. Pero
lo
que no puedo hacer es lo siguiente. Quiero que el usuario seleccione una
carpeta y cuando hace clic en copiar que el sistema copie todo lo que
tiene
esa carpeta incluido las subcarpetas existentes. Con el comando Copy File
solamente copio los archivos.
Espero que me puedan ayudar
Gracias
Jorge Mota
2003-07-18 15:38:31 UTC
Permalink
por que estas encerrando las variables
deberia quedar asi:

origen = thisform.text1.value
destino = thisform.trext2.value

ofs=createobject("scripting.filesystemobject")
ofs.copyfolder(origen, destino)




On Fri, 18 Jul 2003 12:27:02 -0300, Informatica
origen = thisform.text1.value
destino = thisform.trext2.value
ofs=createobject("scripting.filesystemobject")
ofs.copyfolder('origen', 'destino')
Codigo de error OLE 0*800a004c. Codigo de estado OLE desconocido.
AYUDA
Gracias
Daniel Flores
--
Jorge Mota

Do It Best, Do it With VFP.
Informatica
2003-07-18 15:47:32 UTC
Permalink
Ya probe como me dijiste y sigue el error. Estoy trabajando en XP, me olvide
de comentartelo. Tengo que tener algo instalado para que funcione este
codigo? Como hago para ver si lo tengo instalado?
Gracias
Daniel Flores
Hugo M. Ranea
2003-07-18 19:09:39 UTC
Permalink
Post by Informatica
Ya probe como me dijiste y sigue el error. Estoy trabajando en XP, me olvide
de comentartelo. Tengo que tener algo instalado para que funcione este
codigo? Como hago para ver si lo tengo instalado?
Gracias
Daniel Flores
Daniel, probablemente tengas algún archivo abierto en el folder origen,
lo que causa el error
Nelson Rodriguez
2003-07-21 14:17:41 UTC
Permalink
De acuerdo a la sintaxis y a la prueba realizada por mí te faltaría
confirmar si el directorio destino existe previamente:

ofs=createobject("scripting.filesystemobject")
ofs.copyfolder('D:\DIRSOURCE','C:\DIRTARGET')

Así me funcionó OK, probé borrando el DIRTARGET y se produce tu error.

Espero te ayude

Nelson
Post by Informatica
Ya probe como me dijiste y sigue el error. Estoy trabajando en XP, me olvide
de comentartelo. Tengo que tener algo instalado para que funcione este
codigo? Como hago para ver si lo tengo instalado?
Gracias
Daniel Flores
Informatica
2003-07-21 16:25:09 UTC
Permalink
Ya probe todo lo que me dijeron y no funciona. me sigue saliendo el mismo
mensaje de error. Estoy programando en vfp 5.0

AYUDA
Daniel Flores
David Amador (Davphantom)
2003-07-21 16:29:38 UTC
Permalink
Recuerdame cual es el error que te mana .......

--
David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523
Post by Informatica
Ya probe todo lo que me dijeron y no funciona. me sigue saliendo el mismo
mensaje de error. Estoy programando en vfp 5.0
AYUDA
Daniel Flores
David Amador (Davphantom)
2003-07-22 11:24:42 UTC
Permalink
Y los valores de las variables ??' ... muestrame todo el codigo .... Yo
utilizo este codigo sin problemas....

--
David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523
"Codigo de error ole 0x800a004c. Codigo de Estado OLE desconocido"
ofs.copyfolder(carpeta, carpeta2)
Gracias
Daniel Flores
David Amador (Davphantom)
2003-07-22 14:18:23 UTC
Permalink
Diste en el clavo ...... ese es el problema ....

--
David Amador Tapia
Webmaster de "La Web de Davphantom"
www.davphantom.cjb.net
Cartagena. Colombia
Tel (5) 6621502 - 6581523
carpeta = alltrim(carpeta)
carpeta = left(alltrim(carpeta), len(alltrim(carpeta)) -1)
Al parecer el problema es el BackSlash del final.
--
____________________________
Luis Alberto Moreno
Desarrollo y Soporte
Metropólitan Express Ltda
Bogotá - Colombia
origen = GETdir('c:', 'BackUp')
thisform.text1.value = alltrim(origen)
carpeta = origen
ocupa = 0
gnDbcnumber = ADIR(gaDatabase, '*.*') && Crea la matriz
FOR nCount = 1 TO gnDbcnumber && Bucle para número de bases de
archivos
ocupa = ocupa + gaDatabase(nCount,2) && tamaño que ocupa el backup
ENDFOR
thisform.label8.caption = str(ocupa)
thisform.label8.visible = .t.
destino = GETdir('c:', 'BackUp')
thisform.text2.value = alltrim(destino)
carpeta2 = destino
ocupa = 0
disco2 = sys(5) && Obtengo el disco destino
tamaño = diskspace() && Espacio libre en disco destino
thisform.label2.caption = str(tamaño) && Asigno el espacio libre del
archivo
thisform.label2.visible = .t.
carpeta = alltrim(carpeta)
carpeta2 = alltrim(carpeta2)
ofs=createobject("scripting.filesystemobject")
ofs.copyfolder(carpeta, carpeta2)
messagebox("Finalizó el Backup de las Bases de Datos",48+0+0,"Municipio
de
Plaza Huincul")
thisform.release
AYUDA
Gracias
Daniel Flores
Continúe leyendo en narkive:
Loading...