Page 1 of 1

CopyFIle()

Posted: Wed Dec 19, 2018 3:56 pm
by Jorge Jaurena
Buen dia.
Necesito copiar archivos y uso CopyFile(), ocurre que cuando alguna carpeta tiene en el nombre algun espacio no copia nada, ahora si no hay espacios si.
Aclaracion: esto ocurre en un Win 10 de 64 pero en un Win 7 de 32 anda bien.
Uso Harbour y FWH.
Gracias.

Jorge Jaurena

Re: CopyFIle()

Posted: Wed Dec 19, 2018 4:16 pm
by karinha
Intenta asi, usando FILECOPY():

Code: Select all

#include "FiveWin.ch"

FUNCTION Main()

   LOCAL cSourceFile := "C:\FWH1701\SAMPLES\TUTOR04.PRG"
   LOCAL cTargetFile := "C:\TEMP\TURO04.TXT"

   ? "Copiar de", cSourceFile, "Para", cTargetFile, "..."

   ? "Copiado", FileCopy( cSourceFile, cTargetFile ), "bytes"

RETURN NIL
 

Re: CopyFIle()

Posted: Thu Dec 20, 2018 11:57 am
by Jorge Jaurena
Buen dia.

Gracias por tu respuesta pero hace lo mismo que CopyFile(), en un 7 de 32 anda perfecto todo pero en un 10 de 64 no anda pero solo cuando en el medio del nombre del directorio de destino hay espacios.
Hago esto:

FileCopy( "Origen.pdf", "C:\APPS\Wps Gestion Bin\PDF\Destino.pdf")

El problema esta en la parte en negrita, si no tuviera blancos copia bien.

Gracias

Jorge Jaurena

Re: CopyFIle()

Posted: Thu Dec 20, 2018 12:10 pm
by hmpaquito
Hola,

Hazlo con COPY FILE o su equivalente __CopyFile()

Regards

Re: CopyFIle()

Posted: Thu Dec 20, 2018 12:15 pm
by karinha

Code: Select all

/*
 * SPN.PRG
 *
 * cShortName() - FilePath Long to Short (GetShortPathNameA())
 *
 * Soporte a Funciones del Api de Windows
 *
 * Andrade A. Daniel - 2002
 * Rosario, Argentina
 *
 * Libre Distribución
 */

/*
 * cShortName()
 */

FUNCTION cShortName( cLong )

   LOCAL   cShort  := Space( 164 ) + Chr( 0 )
   LOCAL   nBuffer := 164
   LOCAL   nLen

   nLen    := GetSPName( cLong, @cShort, nBuffer )

   cShort  := Left( cShort, nLen )

   RETURN( cShort )

// Windows Api
DLL32 STATIC FUNCTION GetSPName( lpszLongPath AS STRING, lpszShortPath AS STRING, lBuffer AS LONG ) ;
      AS LONG PASCAL FROM "GetShortPathNameA" LIB "kernel32"
 

Re: CopyFIle()

Posted: Thu Dec 20, 2018 12:25 pm
by karinha
\samples,

GETDIR.PRG
TESTDROP.PRG
LONGNAME.PRG
TESTLFN2.PRG

mira y comente, se funciona.

Saludos.

Re: CopyFIle()

Posted: Thu Dec 20, 2018 4:20 pm
by nageswaragunupudi
Jorge Jaurena wrote:Buen dia.
Necesito copiar archivos y uso CopyFile(), ocurre que cuando alguna carpeta tiene en el nombre algun espacio no copia nada, ahora si no hay espacios si.
Aclaracion: esto ocurre en un Win 10 de 64 pero en un Win 7 de 32 anda bien.
Uso Harbour y FWH.
Gracias.

Jorge Jaurena
Please try FWH function

LZCopyFile( cSrc, cDst )

Eg:

Code: Select all

? lzCopyFile( "c:\fwh\samples\tutor01.prg", "c:\tests\spaced folder\tutor01.prg" )
 
I am using Windows 10 64-bits.
For me CopyFile() function is working correctly even with folder names containing spaces.
I see no problem.