Cambiar fecha de creación de un archivo

Post Reply
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Cambiar fecha de creación de un archivo

Post by acuellar »

Buenas estimados

Ésta función cambia la fecha de modificación de un archivo

Code: Select all

SetFDaTi( <cFileName> , [<dFileDate>], [<cFileTime>] ) --> lSuccess
 
Cuál es para cambiar la de creación

Gracias por la ayuda.
Saludos,

Adhemar C.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar fecha de creación de un archivo

Post by karinha »

João Santos - São Paulo - Brasil
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar fecha de creación de un archivo

Post by acuellar »

Gracias João

No encuentro cual es.

Quizás alguien sabe cual es.
Saludos,

Adhemar C.
User avatar
karinha
Posts: 4882
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar fecha de creación de un archivo

Post by karinha »

Adhemar intenta asi:

Code: Select all


   hFile := Fopen("ficheroafechar.ext")

   SetFTime(hFile, "10:20:59", "27:11:2019")

   Fclose(hFile)

 
João Santos - São Paulo - Brasil
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar fecha de creación de un archivo

Post by acuellar »

Estimado Joao

Con SetFTime no cambia nada.

con SetFDaTi cambia, lo raro es que el explorador de windows el algunas carpetas muestra los archivos con la fecha de creación de la carpeta donde se encuentra y en otras muestra la fecha de modificación.

Es bien raro.
Saludos,

Adhemar C.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cambiar fecha de creación de un archivo

Post by cnavarro »

Puedes intentar renombrar el fichero, copiarlo con el nombre original y borrar el que renombraste
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar fecha de creación de un archivo

Post by acuellar »

Gracias estimado Cristobal

La idea es cambiar la fecha en forma masiva

Tengo una versión antigua de File Date Changer que funciona perfecto. Descargué una nueva versión y el Windows Defender no permite que funcione.

Se me ocurrió hacer uno propio.
Aquí el código por si a alguien le interesa y hagan mejoras y pruebas.

Code: Select all

#include "fivewin.ch"
*
Function Main()
   Private aFiles:={}, aLista, oBrw,xLen,cPath

   SelectCarpeta()  
   CargaTabla()

   DEFINE DIALOG oDlg FROM 0,0 TO 18,57 TITLE "Lista de archivos";oDlg:lHelpIcon:=.F.
     oBrw:=TXBrowse():New( oDlg )
     oBrw:nMarqueeStyle:=5
   oBrw:lHScroll:=.F.
   oBrw:nColDividerStyle:=LINESTYLE_LIGHTGRAY
   oBrw:nRowDividerStyle:=LINESTYLE_LIGHTGRAY
   oBrw:bClrSelFocus:={ || { CLR_BLUE, { { 0.1,16777215,12961221 } }} }
   oBrw:bClrSel:={ || { CLR_BLUE, { { 0.30,16777215,12961210 } }} }
   oBrw:bClrRowFocus:= { || { CLR_BLUE, { { 0.30,16777215,12961210 } }} } 
   oBrw:lHScroll:=.F.
   oBrw:lRecordSelector:=.F.
   oBrw:lAllowRowSizing:= .F.
   oBrw:lAllowColHiding := .F. 
     oBrw:lAllowColSwapping:=.F.
       
       oBrw:SetArray( aFiles, .T. ) 
               
       oBrw:aCols[1]:cHeader := "ARCHIVO"
       oBrw:aCols[1]:nWidth:=302
       oBrw:aCols[2]:cHeader := "FECHA   "
       oBrw:aCols[3]:cHeader := "HORA" 
       oBrw:lHScroll := .F. 
               
       oBrw:CreateFromCode()
      

     ACTIVATE DIALOG oDlg CENTERED ON INIT (BotDlg(oDlg,oBrw),oDlg:Update(),oBrw:Move( 0, 0, oDlg:nWidth()-7, oDlg:nHeight()-70),oBrw:Refresh() )
 
Return nil
*
FUNCTION BotDlg( oDlg, oBrw )
   Local oBtnBar

   @oDlg:nHeight()-60,70  BTNBMP PROMPT "Selec.Carpeta" OF oDlg SIZE 90,18 ACTION ( SelectCarpeta(), CargaTabla(), oBrw:SetArray( aFiles, .T. ) ) 2007
   @oDlg:nHeight()-60,170  BTNBMP PROMPT "Cambiar Fecha" OF oDlg SIZE 90,18 ACTION ( CambiaFecha(), CargaTabla(), oBrw:SetArray( aFiles, .T. )  ) 2007
   @oDlg:nHeight()-60,270 BTNBMP PROMPT "Salir" OF oDlg SIZE 90,18 ACTION oDlg:End()    CANCEL 2007
  
Return Nil
*
Function SelectCarpeta()
  cPath:=cGetDir( "Seleccione la carpeta",hb_CurDrive()+":\",0 )           
  cPath+="\"
Return Nil
*
FUNCTION CargaTabla()
  
   aFiles:={}
   
   aLista:= Directory( cPath+"*.*")
   IF LEN( aLista ) < 1
        MsgBeep()
        MsgStop( "Carpeta vacía","ATENCION !!!" )
        SelectCarpeta()
   ENDif
      
   xLen:=LEN( aLista )
   FOR nCount = 1 TO xLen
     AADD( aFiles, { ALLTRIM( aLista[ nCount ][1] ), aLista[ nCount ][3], SUBSTR( aLista[ nCount ][4],1,5 ) } )
   NEXT
Return Nil
*   
FUNCTION CambiaFecha()
 
       FOR I = 1 TO xLen
         cFile:=cPath+ALLTRIM( aLista[ I ][1] )
         SetFDaTi( cFile, Date(),Time() ) 
       NEXT
      
Return Nil 
Saludos,

Adhemar C.
User avatar
cnavarro
Posts: 5792
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Cambiar fecha de creación de un archivo

Post by cnavarro »

Adhemar, si la operación es para hacerla de forma masiva, el tema cambia claro, lo que yo te proponía era para aplicarlo de forma puntual.
Creo recordar que hace tiempo me encontré con el mismo tema que tú, pero no recuerdo si llegué a solucionarlo. Lo busco y te digo algo si veo una posible solución.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
User avatar
acuellar
Posts: 1312
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar fecha de creación de un archivo

Post by acuellar »

Muchas gracias Cristobal.
Saludos,

Adhemar C.
Post Reply