FoxPro/Visual FoxPro - error Copy File

   
Vista:

error Copy File

Publicado por José A.Garcia (39 intervenciones) el 13/03/2014 00:40:45
Buenas noches.
¿Me podeis ayudar?.
El siguiente código me da error en la última línea (COPY FILE &lcOrigen\*.dbf TO &lcDestino\*.dbf)
y no consigo saber porque.


lcOrigen = SYS(5) + SYS(2003)+ "\copiaprofox\data"
lcOrigen = SUBSTR(lcOrigen,1,LEN(lcOrigen)+1)
lcDestino = GETDIR("","Pegar","Seleccione Destino")
lcDestino = lcDestino + SUBSTR(lcOrigen,RAT("\",lcOrigen)+1)
MD &lcDestino

COPY FILE &lcOrigen\*.dbf TO &lcDestino\*.dbf
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

error Copy File

Publicado por Fidel José (558 intervenciones) el 13/03/2014 01:23:26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
lcOrigen = SYS(5) + SYS(2003)+ "\copiaprofox\data"
lcDestino = GETDIR("","Pegar","Seleccione Destino")
IF EMPTY(lcDestino)
	RETURN
ENDIF
* Comprobación
IF RIGHT(lcDestino,1)="\"
	lcDestino=LEFT(lcDestino,LEN(lcDestino)-1)
ENDIF
 
* Si eliges una carpeta es porque ya fué creada
*!*	IF !DIRECTORY(lcDestino)
*!*		MD &lcDestino
*!*	ENDIF
 
COPY FILE &lcOrigen\*.dbf TO &lcDestino\*.dbf
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por José A. Garcia (39 intervenciones) el 13/03/2014 21:22:35
Muchas gracias por tu interés Fidel José.
He hecho las rectificaciones que me has enviado y lo siento, me sigue dando el mismo error en la misma linea.
COPY FILE &lcOrigen\*.dbf TO &lcDestino\*.dbf

Me dice "Error del programa" "El comando contiene una frase o palabra clave no reconocida
Ya no se que probar, he dado mil vueltas.

Muy agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por Fidel José (558 intervenciones) el 14/03/2014 01:14:36
Ah, pues que no me fijé en la linea de Copy. Prueba de la siguiente forma que anda.
El error te lo da porque la macrosustitución usa el punto como final de sentencia. Entonces, ahora lo juntamos.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
LOCAL lcOrigen,lcDestino
LcOrigen = SYS(5) + SYS(2003)+ "\copiaprofox\data"
lcDestino = GETDIR("","Pegar","Seleccione Destino")
IF EMPTY(lcDestino)
	RETURN
ENDIF
* Comprobación
IF RIGHT(lcDestino,1)="\"
	lcDestino=LEFT(lcDestino,LEN(lcDestino)-1)
ENDIF
lcOrigen=ADDBS(lcOrigen)+"*.dbf"
lcDestino=ADDBS(lcDestino)+"*.dbf"
* Si eliges una carpeta es porque ya fué creada
*!*	IF !DIRECTORY(lcDestino)
*!*		MD &lcDestino
*!*	ENDIF
 
COPY FILE &lcOrigen TO &lcDestino
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauricio

error Copy File

Publicado por Mauricio (1368 intervenciones) el 14/03/2014 00:17:24
Jose, lo corri en vfp6 y vfp9 y en ninguno me dio error:
SET STEP ON
lcOrigen = SYS(5) + SYS(2003)+ "\fuentes"
lcOrigen = SUBSTR(lcOrigen,1,LEN(lcOrigen)+1)
lcDestino = GETDIR("","Pegar","Seleccione Destino")
lcDestino = lcDestino + SUBSTR(lcOrigen,RAT("\",lcOrigen)+1)
MD &lcDestino
*
COPY FILE &lcOrigen\*.dbf TO &lcDestino\*.dbf
SET STEP OFF
RETURN
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por José A. Garcia (39 intervenciones) el 14/03/2014 00:52:48
Gracias Mauricio.
No se que pasa, pero siempre me da el mismo error, en la misma línea.
Pensé que tenia algo mal escrito, pero si a ti te funciona, evidentemente no es eso.
Yo utilizo Vfp9.
Espero encontrar una solución.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por neo (1601 intervenciones) el 14/03/2014 14:38:21
Y lo que quieres es copiar una carpeta con archivos .dbf a otra carpeta?

existen otros métodos, por ejemplo:

en un prg tengo este codigo para respaldar cada vez que sale del sistema:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SET SAFETY OFF
SET NOTIFY OFF
SET CENTURY off
SET TALK OFF
 
 
CLOSE DATABASES
CLOSE TABLES ALL
WAIT WINDOW "Creando respaldo de Seguridad..." TIMEOUT .8
SET DEFAULT TO c:\sistema
SET PATH TO datos
 
COPY FILE c:\sistema\datos\*.dbf TO c:\respaldos\datos\*.dbf
COPY FILE c:\sistema\datos\*.cdx TO c:\respaldos\datos\*.cdx
COPY FILE c:\sistema\datos\*.dcx TO c:\respaldos\datos\*.dcx
COPY FILE c:\sistema\datos\*.dct TO c:\respaldos\datos\*.dct
COPY FILE c:\sistema\datos\*.dbc TO c:\respaldos\datos\*.dbc
 
WAIT WINDOW "Terminó el respaldo de datos con éxito..." TIMEOUT .8
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por José A. Garcia (39 intervenciones) el 15/03/2014 21:12:07
Por fin lo hemos conseguido.
El problema es que tengo una carpeta (proyectos de visual foxpro) con espacios en el nombre y yo ignoraba que en este caso tengo que poner comillas.

COPY FILE "c:\users\2013os\documents\proyectos de visual foxpro\copiaprofox\Data\*.dbf" TO "c:\respaldos\datos\*.dbf"

Muchas gracias a todos y disculpar mi ignorancia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por Fidel José (558 intervenciones) el 16/03/2014 17:49:25
Mira José que el problema arranca cuando en tu planteo no expones lo que verdaderamente estás haciendo.

Mostrado lcOrigen = SYS(5) + SYS(2003)+ "\copiaprofox\data"
Real lcOrigen= "c:\users\2013os\documents\proyectos de visual foxpro\copiaprofox\Data\"

Entonces, si no le cuentas la verdad a tu abogado, no sé cómo esperas que te defienda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error Copy File

Publicado por José A. Garcia (39 intervenciones) el 16/03/2014 19:59:49
Tienes razón Fidel José, pero lo cierto es, que la verdad yo no la conocía, so siento, la próxima vez intentare ser mas explicito.
Muy agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar