Ms-Dos - Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

 
Vista:
sin imagen de perfil

Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

Publicado por Ramón Burgos (3 intervenciones) el 06/07/2016 00:40:50
Hola a tod@s

He descubierto este foro y me resulta muy interesante y instructivo.

Mi consulta es la siguiente:

Necesito Copiar un archivo (completo.7z) a otra carpeta renombrando el fichero con su nombre y la fecha del dia en que se produce la copia.

Lo he intentado con copy pero no me funciona la variable de entorno %date% en el copy

Gracias de antemano

Un saludo
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
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

Publicado por Antoni Masana (811 intervenciones) el 06/07/2016 06:55:58
Esto hace lo que quieres

1
2
3
4
ECHO OFF
SET /P File=Fichero a copiar:
SET HOY=%date:~6,4%_%date:~3,2%_%date:~0,2%
FOR %%a IN (%File%) DO COPY C:\Origen\%%a  D:\Destino\%%~na_%Hoy%%%~xa

Si el fichero a copiar sera siempre el mismo puedes modificar la línea del set

1
2
3
4
ECHO OFF
SET File=completo.7z
SET HOY=%date:~6,4%_%date:~3,2%_%date:~0,2%
FOR %%a IN (%File%) DO COPY C:\Origen\%%a  D:\Destino\%%~na_%Hoy%%%~xa

Cambia las rutas de origen y destino y si quieres ver como queda el destino antes de copiar pon un ECHO antes del COPY para hacer pruebas

1
2
3
4
ECHO OFF
SET File=completo.7z
SET HOY=%date:~6,4%_%date:~3,2%_%date:~0,2%
FOR %%a IN (%File%) DO ECHO COPY C:\Origen\%%a  D:\Destino\%%~na_%Hoy%%%~xa

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

Publicado por Ramón Burgos (3 intervenciones) el 06/07/2016 11:23:40
En primer lugar darte la gracias por la ayuda y la rapidez.
Con respecto al código funciona perfectamente.
Pero ahora tengo otra consulta. A la hora de seleccionar el fichero "SET /P File=Fichero a copiar:" ¿puedo utilizar comodines para seleccionarlo de entre una lista?, he probado con "*" y con "%" y no funciona.
Gracias de antemano y un saludo
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

Publicado por Antoni Masana (811 intervenciones) el 06/07/2016 19:58:57
A mi me funciona.

Te pongo un ejemplo:

1
2
3
4
@echo off
set /P File=Nombre:
echo.
for %%a in (%file%) do echo %%a

y el resultado

1
2
3
4
5
6
Nombre: g*
 
Gina_1.JPG
Gina_2.JPG
Gina_Bellman.jpg
Gina_Bellman_2.jpg

Cuando introduzcas el nombre del fichero debe ser igual que cuando haces un comando DIR.

Si en el DIR pongo

1
DIR G*

y y te muestra los ficheros debería ser igual con el bat.
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

Copiar un archivo a otro directorio con el mismo nombre y fecha del día de la copia

Publicado por Ramón (3 intervenciones) el 07/07/2016 11:24:58
Gracias por la Respuesta y tu tiempo

A mi No me funciona, he copiado el código tal y como tu me lo has pasado, lo ejecuto el bat en el directorio donde tengo los ficheros y no me enseña nada, no se que puedo estar haciendo mal.

De todos modos muchas gracias, seguiré investigando
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