Access - RENOMBRAR FICHEROS AÑADIENDO FECHA

 
Vista:

RENOMBRAR FICHEROS AÑADIENDO FECHA

Publicado por RAMON (11 intervenciones) el 02/01/2007 17:39:32
Hola, si tengo este código para buscar ficheros:

Public Sub RevisarArchivos()
Dim strTempArchivo As String
strTempArchivo=Dir("C:\BL*.*", vbNormal)
If strTempArchivo<>"" Then
MsgBox "Hay Archivos para importar."
End If
End Sub

¿Cómo puedo hacer si existen dichos ficheros para MOVERLOS en otra carpeta RENOMBRÁNDOLOS añadiendole al nombre la FECHA+HORA+MINUTOS+SEGUNDOS?

Por ejemplo, si el código anterior me saca el mensaje diciéndome que "Hay archivos para importar" y en C:\ existen unos 5 ficheros (por ejemplo):

BL0192023.TOT
BL0172325.TOT
BL0181856.TOT
BL0152456.TOT
BL0112458.TOT

sería QUITARLOS de C:\ y MOVERLOS a una carpeta llamada C:\COPIA\ en la que deberían de ir renombrados de la siguiente manera:

BL019202320060102175022.TOT
BL017232520060102175022.TOT
BL018185620060102175022.TOT
BL015245620060102175022.TOT
BL011245820060102175022.TOT

De esta manera evitaría que se machaquen unos ficheros con otros caso de existir en la carpeta COPIA.
Gracias
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

RE:RENOMBRAR FICHEROS AÑADIENDO FECHA

Publicado por The Emulator (146 intervenciones) el 02/01/2007 19:41:00
Hola o travez yo :-)

Bueno ya hize el cambio para lo que quieres con lo que habiasmos mirado antes.
Aqui tenemos dos nuevas funciones que son el FileCopy que sirve para copiar archivos el cual pide la rutaorigen y el destino la otra es Kill que se usa para eliminar archivos que pide la ruta del archivo.

Todo lo hacemos don la funcion Dir como te comente antes es para listar archivos o carpetas asi que con esa funcion hacemos un ciclo que sera el que ira tomando cada uno de los archivo que queremos copiar tomamos el nombre y le agragamos la fecha y hora para luego copiarlo y por ultimo borramos el archivo original con Kill

'************************************ INICIO CODIGO *****************************
Public Sub RevisarArchivos()
Dim strTempArchivo As String
Dim strNuevoNombre As String

strTempArchivo = Dir("C:\BL*.*", vbNormal)
If strTempArchivo <> "" Then
MsgBox "Hay Archivos para importar."
While strTempArchivo <> ""
strNuevoNombre = Mid(strTempArchivo, 1, Len(strTempArchivo) - 4)
strNuevoNombre = strNuevoNombre & Format(Now, "YYYYMMDDHHMMSS") & ".TOT"
FileCopy "C:\" & strTempArchivo, "C:\Copia\" & strNuevoNombre
Kill "C:\" & strTempArchivo
strTempArchivo = Dir
Wend
End If
End Sub
'************************************ INICIO CODIGO *****************************

NOTA:
Si la extencion de los archivos va a ser TOT el fitro deberia ser por esa extencion para que no traiga archivo que no son como te comente en el primer mensaje.
strTempArchivo = Dir("C:\*.TOT", vbNormal)

Saludos
http://www.theemulator.tk
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

Mover los ficheros en la carpeta creada

Publicado por Ramón (11 intervenciones) el 03/01/2007 16:07:40
Gracias, este código que me has enviado funciona perfectamente, pero si en vez de copiar los ficheros en la carpeta COPIA los quiero copiar en la Carpeta que he creado con el código que me enviaste que crea una carpeta con la fecha de hoy, ¿qué debería cambiar?
Te pongo un ejemplo de como tengo los ficheros y donde quiero copiarlos:

los tengo en :
C:\TELECOM\DIBALCOM\BL0*.*

Estos ficheros una vez importados lo que quiero es moverlos a la carpeta que he creado con fecha de hoy, es decir en:

Moverlos a:
C:\TELECOM\HISTOBAL\2007-01-03\

Dentro de esa carpeta debo moverlos pero renombrados añadiendo la fecha, hora, minutos y segundos, tal como lo pones en tu código.
Cada día del año los ficheros deberán moverse en la carpeta que lleve la fecha del día en curso.

Gracias.
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

RE:Mover los ficheros en la carpeta creada

Publicado por Ramon (11 intervenciones) el 03/01/2007 17:32:05
Ya está, he añadido una variable y en el lugar de la carpeta COPIA he puesto esta variable que lo que hace es coger la ruta completa del directorio.

strNombreCarpeta = C:\TELECOM\HISTOBAL\" & Format(Date, "YYYY-MM--DD") & "\"

y en el FileCopy he puesto:

FileCopy "C:\telecom\dibalcom\" & strTempArchivo, strNombreCarpeta & strNuevoNombre

Graciassssssssssss
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
sin imagen de perfil

RE:Mover los ficheros en la carpeta creada

Publicado por Ylan (2 intervenciones) el 18/05/2016 16:35:48
Hola a todos, amigos necesito ayuda, el problema lo planteo a través del siguiente ejemplo:

Necesito copiar TODOS los ficheros de distintas extensiones .pdf, .docx .txt .xlsx etc) de CARPETA1 a CARPETA2 con el nombre de los ficheros renombrados, solamente añadiendo al nombre de los ficheros la fecha actual del sistema.

fso.CopyFile "C:\CARPETA1\*.*", "C:\CARPETA2\" 'acá copia TODOS los archivos pero no añade la fecha a los nombres de los archivos.

Se que con la función Format$(Date, "ddmmyyyy") tal ves se pueda pero no la he podido utilizar correctamente pues he echo cosas como:

fso.CopyFile "C:\CARPETA1\*.*", "C:\CARPETA2\" & Format$(Date, "ddmmyyyy") 'pero me genera errores (no se ha encontrado la ruta de accesso)

De Antemano Gracias por sus Ayudas...
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
sin imagen de perfil

RE:Mover los ficheros en la carpeta creada

Publicado por Enrique Heliodoro (1664 intervenciones) el 18/05/2016 20:50:38
Si se trata de diferenciar a todo ese conjunto por la fecha , ¿valdría poner una fecha como subcarpeta?..

Supongamos

Actual y real:
C:\Carpeta1\Foto123.jpg

Copia anterior (final):
C:\Carpeta2\Foto123.jpg

Lo que se propone:
C:\Carpeta1\2016-05-17\Foto123.jpg

O asi:
C:\Carpeta1\2016-May-17\Foto123.jpg

Esto es: que el nombre de la carpeta delate la fecha de la copia, lo que permitiría reutilizar los ficheros sin modificar un apice los nombres (bastaría localizar 'la carpeta' con la fecha deseada)
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