2010-09-30 14 views
7

Me gustaría redirigir la salida de un comando (en la línea de comandos de Windows) a un archivo cuyo nombre es la fecha y hora actuales. Por ejemplo:Cómo redirigir la salida a un archivo cuyo nombre es la fecha y hora actual?

my_path\mysqldump.exe my_database_name > auto_generated_file_name 

donde auto_generated_file_name debería ser algo así como 2010_09_30___11_41_58.txt.

Este comando se ejecutará automáticamente de vez en cuando. Esta es la razón por la que necesito que el nombre del archivo sea automáticamente generado.

¿Cuál es el método más sencillo para lograr esto?

Respuesta

7

El siguiente comando crea un archivo en blanco con el nombre del archivo se esperaba:

> type nul > %date:~10,4%_%date:~4,2%_%date:~7,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%.txt 

> dir /b 
2010_09_29__22_12_44.txt 

Usted puede utilizar la parte después de type nul > en lugar de su auto_generated_file_name.

+0

Muchas gracias !! –

+1

El problema es que esto depende en gran medida de su configuración regional. Para mí produjo: '017_0._1 .__ 10_41_13.txt' – JaKu

+0

Usando'% time: ~ 0,2% 'agrega un espacio a su nombre de archivo por la mañana. Cite el nombre del archivo en su comando para decirle a Windows que está bien. – atheaos

3

Hay una nice solution here, y casi coincide con su ejemplo el formato:

set dd = %date% %Time% 
my_command > MyFile__%dd:~0,2%_%dd:~3,2%_%dd:~6,4%___%dd:~11,2%_%dd:~14,2%.txt 

salida: "MyFile__22_05_2009__6_20.txt"

Cuestiones relacionadas