Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki
Proyecto AjpdSoft: Foros

AjpdSoft :: Ver tema - No puedo copiar fichero: El proceso no tiene acceso al archi
Foros de discusión Buscar Perfil FAQ Iniciar sesión
Information No puedo copiar fichero: El proceso no tiene acceso al archi

Publicar nuevo tema Responder al tema
Foros de discusión » Windows 10, Windows 7, Windows Server 2010, W2008, W2003   
Ver tema anterior :: Ver tema siguiente
AutorMensaje
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: No puedo copiar fichero: El proceso no tiene acceso al archi Responder citando

Estoy haciendo una aplicación que copia ficheros de una ubicación a otra con Delphi, en Windows. Utilizo la función CopyFile de Delphi, perteneciente a la unidad Windows.

Cuando realizo la copia de la unidad (completa) donde se encuentra el sistema operativo, he podido observar que da estos errores con algunos ficheros:

C:\pagefile.sys >> El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso.

C:\Documents and Settings\All Users\
Datos de programa\Microsoft\
Dr Watson\user.dmp >> Acceso denegado

C:\Documents and Settings\alonso\
Configuración local\Archivos temporales de Internet\
Content.IE5\0DE385DF\CA10O3GDCAAJN2BDCAUAFFGUCAL2
E4SECAX0762VCADHZG14CANBT8XWCANW6FW
2CAHHK8HTCARDHABVCAUN43DUCA1HLWZKC
ARB879FCAV295GNCAM86AMGCAJ8DV2UCAR
947C9CA33FAYX.htm >> El sistema no puede hallar la ruta especificada

¿a qué se debe? ¿es normal?
MensajePublicado:
Dom Ago 26, 2007 7:40 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Código Delphi que utilizo para copiar ficheros Responder citando

El código que utilizo para copiar los ficheros, que copia carpetas y subcarpetas, es:

Código:

procedure TformMenuPrincipal.copiaFicheros (
    carpetaOrigen, carpetaDestino, filtro : string;
    reemplazarFicheros : boolean; tipoLog : string);
var
  compBusqueda : TSearchRec;
begin
  carpetaOrigen := IncludeTrailingBackslash(carpetaOrigen);
  carpetaDestino := IncludeTrailingBackslash(carpetaDestino);
  ForceDirectories(carpetaDestino);

  if FindFirst(carpetaOrigen + filtro,
      faAnyFile, compBusqueda) = 0 then
  begin
    repeat
      if (compBusqueda.Name <> '.') and
          (compBusqueda.Name <> '..') then
        if (compBusqueda.Attr and faDirectory) > 0 then
          copiaFicheros(carpetaOrigen + compBusqueda.Name,
              carpetaDestino + compBusqueda.Name, filtro,
              reemplazarFicheros, tipoLog)
        else
        begin
          lInfo.Caption := 'Copiando ' +
              carpetaOrigen + compBusqueda.Name;
          lInfo.Refresh;
          Application.ProcessMessages;
          if CopyFile(Pchar(carpetaOrigen +
              compBusqueda.Name),
              PChar(carpetaDestino + compBusqueda.Name),
              reemplazarFicheros) then
          begin
            if (tipolog = 'todo') then
              listaLog.Add ('OK: ' + carpetaOrigen +
                   compBusqueda.Name +
                   ' >>> ' + carpetaDestino +
                   compBusqueda.Name);
            numFicherosCopiados :=
                numFicherosCopiados + 1;
          end
          else
          begin
            if (tipoLog = 'error') or (tipolog = 'todo') then
              listaLog.Add ('ER: ' + carpetaOrigen +
                  compBusqueda.Name +
                  ' >>> ' + carpetaDestino +
                  compBusqueda.Name +
                  ' ERROR: ' +
                  SysErrorMessage(getlasterror));
            numFicherosNoCopiados :=
                numFicherosNoCopiados + 1;               
          end;
          be.Panels[0].Text := 'OK: ' +
              IntToStr(numFicherosCopiados) +
              '  ER: ' + IntToStr(numFicherosNoCopiados);
        end;
    until FindNext(compBusqueda) <> 0;
    FindClose(compBusqueda);
  end;
end;


Ultima edición por varios el Dom Ago 26, 2007 10:08 am, editado 1 vez
MensajePublicado:
Dom Ago 26, 2007 7:45 am
Top of PageVer perfil de usuario
varios
Magnífico usuario


Registrado: Oct 10, 2006
Mensajes: 2092

Asunto: Otros ficheros que dan error al copiar Responder citando

Algunos ficheros más que dan error al intentar copiarlos, en este caso siempre es el mismo error: El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso.

C:\Documents and Settings\LocalService.NT AUTHORITY\Configuración local\Datos de programa\Microsoft\Windows\UsrClass.dat.LOG

C:\Documents and Settings\LocalService.NT AUTHORITY\Configuración local\Datos de programa\Microsoft\Windows\UsrClass.dat

C:\Documents and Settings\alonso\NTUSER.DAT

C:\Documents and Settings\alonso\ntuser.dat.LOG

C:\WINXP\system32\CatRoot2\edb.log

C:\WINXP\system32\CatRoot2\edbtmp.log

C:\WINXP\system32\CatRoot2\tmp.edb

C:\WINXP\system32\config\default

C:\WINXP\system32\config\default.LOG

C:\WINXP\system32\config\SAM

C:\WINXP\system32\config\SAM.LOG

C:\WINXP\system32\config\SECURITY

C:\WINXP\system32\config\SECURITY.LOG

C:\WINXP\system32\config\software

C:\WINXP\system32\config\software.LOG

C:\WINXP\system32\config\system

C:\WINXP\system32\config\system.LOG

C:\WINXP\system32\drivers\fidbox.dat

C:\WINXP\system32\drivers\fidbox.idx

C:\WINXP\Temp\ib14

C:\WINXP\Temp\ib15

C:\WINXP\Temp\ib16
MensajePublicado:
Dom Ago 26, 2007 7:53 am
Top of PageVer perfil de usuario
alonsojpd
Administrador/Moderador


Registrado: Sep 16, 2003
Mensajes: 2687

Asunto: Re: No puedo copiar fichero: El proceso no tiene acceso al a Responder citando



Anuncios



Efectivamente, estos errores que nos comentas son normales, te los explicamos a continuación:

El proceso no tiene acceso al archivo porque está siendo utilizado por otro proceso

Este error al copiar fichero se produce porque el fichero que se intenta copiar está abierto en modo exclusivo, son ficheros, normalmente, del sistema operativo, como por ejemplo pagefile.sys, que es el archivo de paginación de la memoria virtual de Windows. Este fichero está abierto siempre en modo exclusivo por el sistema operativo y no podrá ser ni modificado, ni eliminado, ni siquiera copiado.



Acceso denegado

Este error se debe a que el usuario con el que estás copiando los archivos no tiene permisos de lectura para el fichero. Determinados archivos de Windows XP, 2000, 2003, Vista tienen restringido el acceso incluso los usuarios administradores.





El sistema no puede hallar la ruta especificada

En este caso, el error se debe a que la ruta y el nombre del fichero son demasiado largos o, incluso, porque el fichero está en subcarpetas que superan el nivel máximo.
MensajePublicado:
Dom Ago 26, 2007 9:41 pm
Top of PageVer perfil de usuario
Mostrar mensajes de anteriores:   
Todas las horas son GMT - 1 Horas
Publicar nuevo tema Responder al tema
Foros de discusión » Windows 10, Windows 7, Windows Server 2010, W2008, W2003  

Cambiar a:  
Key
  Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A