Copiar fichero con fecha del sistema

¿Qué debo añadir al fichero .bat para que me haga una copia de un fichero en otra unidad pero que tenga como nombre la fecha actual cada vez que se ejecute? (copy c:\fichero1.xls d:\15-09-05.xls)

2 Respuestas

Respuesta
1
Comprueba que la fecha la tines en formato dd/mm/aaaa
(Abres una venta dos y ejecutas date /T te debería salir esto 20/09/2005)
En lo referente a que te copie el fichero en otre ubicación se podría hacer simplemente así
------
rem La solucion podria ser +o- asi...
rem -- formato comando copia_s_ pathorigen nombrefichero.xls pathdestino
rem pathorigen c:\tempo1\ Seria ahora la variable %1 e indicaria el camino del fichero origen y debe termina siempre en \
rem pathdestino d:\tempo2\ Seria ahora la variable %2 e indicaria el camino del fichero destino y debe termina siempre en \
for /f "tokens=1-4 delims=/.- " %%A in ('date /t') do ( copy %1%2.* %3%%C%%B%%A.*)
---------
Verifica el formato de fecha de tu SO. Inicio --> Panel de control --> Opciones regionales de fecha y hora --> Opciones regionales --> Tengo yo Español (España) --> Dando como formatode fecha corta 20/09/2005
Recuerda esto esta probado en XP. Si otro SO habría que ver si cambia algo ...
Gracias ante todo. Funciona perfectamente, salvo que el fichero me lo intenta guardar con un espacio después de los dígitos del año
05 0919.xls, supongo que sera una tontería (formato de fecha o algo parecido, pero no doy con ello) ¿Qué puede ser? Gracias de nuevo
Copia esta lines en un fichero bat (yo lo llame copia_s_.bat)
Para ejecutarlo desde el directorio donde este el fichero xls ejecutas c:\>copia_s_ nombrefichero.xls
ESto dejara el fichero renombrado enel mismo lugar donde esta el original.
Esto esta probado en XP funciona.
rem La solucion podria ser +o- asi...
rem -- formato comando copia_s_ nombrefichero.xls
for /f "tokens=1-4 delims=/.- " %%A in ('date /t') do ( copy %1 %%C%%B%%A.*)
El sistema es XP y lo de la fecha ya lo habia mirado, un compañero que me ha visto un poco desesperado me ha preguntado me ha dichio que probara con esto FOR /F "TOKENS=1-3 delims=,/ " %%A IN ('DATE /T') do copy %1 %%C%%B%%A.LOG , y ha funcionado pero te agradeceria que me dijeras a que se puede deber el tener que cambiar el tokens-delims. Y muchas gracias
Para leer... y probar ...
http://www.robvanderwoude.com/index.html
Respuesta

Estoy creando un .bat y tengo problemas, yo quiero hacer una copia del fichero de origen en otra carpeta y luego renombrarlo con el mismo nombre + la fecha del sistema.

No se si hacer la copia primero y luego renombrarlo con la fecha hacerlo todo con variables. En el bat tengo estas lineas

set var1=d:\Compartida\libro.xlsx

set var2=d:\Compartida\Historico\libro.xlsx

for /f "tokens=1-4 delims=/.- " %%AA in ('date /t') do (copy var1var2.* %3%%C%%B%%A.*)

No se si debería copiar primero y luego hacer el for... o cómo hacerlo. ¿Qué hago mal? Creo que el error está en el formato del for..

No se si es así, pero me dice que no se puede copiar o que no se esperaba %%AA

trabajo en windows 2008 server..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas