Ms-Dos - Concatenar fecha en fichero bat

 
Vista:

Concatenar fecha en fichero bat

Publicado por Bernardino (1 intervención) el 30/01/2009 10:14:29
Buenas estoy intentando concatenar una fecha a un nombre de fichero, mas o menos sale bien, pero me pone siempre espacios a los lados.

Codigo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
set FECHA= %date%
echo [%FECHA%]
 
set FECHA=%FECHA:/=%
echo [%FECHA%]
 
set FECHA=%FECHA::=%
echo [%FECHA%]
 
set FECHA=%FECHA:,=%
echo [%FECHA%]
 
set FECHA=%FECHA: =%
echo [%FECHA%]
 
PAUSE
 
move c:pubicacion.txt c:p2\%FECHA%.txt
 
PAUSE
Salida.
C:p>echo [ 30012009  ]
[ 30012009  ]
 
C:p>set FECHA= 30012009
 
C:p>echo [ 30012009   ]
[ 30012009   ]
 
C:p>set FECHA= 30012009
 
C:p>echo [ 30012009    ]
[ 30012009    ]
 
C:p>set FECHA=30012009
 
C:p>echo [30012009 ]
[30012009 ]
 
C:p>PAUSE
Press any key to continue . . .
 
C:p>move c:pubicacion.txt c:p230012009 .txt
The syntax of the command is incorrect.
 
C:p>PAUSE
Press any key to continue . . .
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:Concatenar fecha en fichero bat

Publicado por Armano Nava (194 intervenciones) el 04/02/2009 11:26:25
Saludos.

Despues de una parte de tu código puedes hacer lo siguiente:

1
2
3
4
5
6
7
8
9
10
set FECHA= %date%
set FECHA=%FECHA:/=%
echo %FECHA%
 
REM Con lo cual todavia tenemos el espacio
set FECHA=%FECHA:~1,8%
echo %FECHA%
REM Con lo anterior quitamos el espacio.
Creo que el problema es la sintaxis.
C:p>move c:pubicacion.txt c:p230012009 .txt

Veo que has modificado tu promp y este puede ser el problema, A menos que no se halla copiado la " " diagonal invertida

1
move c:publicacion.txt c:p2\%FECHA%.txt
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:Concatenar fecha en fichero bat

Publicado por amparitohijo (94 intervenciones) el 06/02/2009 10:35:58
Buenas.

Una forma muy original de hacerlo. Enhorabuena. Para mi gusto, se dan demasiadas vueltas. Yo lo hubiese hecho de la siguiente forma:
1
2
For /F "eol=; tokens=1,2,3,4* delims=/, " %%i in ('date /T') do set FECHA=%%k%%j%%i
move C:publicacion.txt  C:P2\%FECHA%.txt
Personalmente, siempre elijo el formato de fecha aaaammdd, para que luego, al ordenarlos por nombre, se me ordenen por fecha. Pero eso va en función de cada uno y de sus necesidades.

Siempre que voy a utilizar la fecha o la hora, incluyo una pequeña cabecera en el script, que me almacene las variables fecha y hora. Es algo así:
1
2
3
REM *** Crea las variables yyyymmdd y hhmm con la fecha y la hora actuales
For /f "eol=; tokens=1,2,3,4* delims=/, " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i
For /f "tokens=1-4 delims=:., " %%a in ('time /t') do set hhmm=%%a%%b%%c
Luego me sirve para renombrar archivos. Espero que a vosotros os sea útil.

PD: No se si saldrá la barra. Es la pega de este foro. Si a alguien no le funciona, puede enviarme un mail y se lo mando por correo.
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:Concatenar fecha en fichero bat

Publicado por Jose Luis Hernandez (1 intervención) el 06/09/2011 18:37:35
Que tal, estoy tratando de hacer un bat con el cual pueda cambiar el nombre de un archivo txt poniendole como nuevo nombre el mismo nombre mas la fecha y hora. segui los pasos que recomiendas pero no me realiza el cambio, anexo codigo que tengo:

1
2
3
For /f "eol=; tokens=1,2,3,4* delims=/, " %%i in ('date /t') do set FECHA=%%k%%j%%i 
For /f "tokens=1-4 delims=:., " %%a in ('time /t') do set HORA=%%a%%b%%c 
move C:SB001761.txt C:P2\%FECHA%%HORA%.txt

Agradezco mucho el apoyo y atención,
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:Concatenar fecha en fichero bat

Publicado por LUIS F MEJIA (1 intervención) el 27/10/2014 21:34:39
BUENAS TARDES: TENGO UN ARCHIVO QUE SE LLAMA MDC.TXT Y LO QUIERO RENEOMBRAR MDCFECHA HORA. VI ESTE CODIGO PERO NO ME FUNCIONA

1
2
3
For /f "eol=; tokens=1,2,3,4* delims=/, " %%i in ('date /t') do set yyyymmdd=%%k%%j%%i 
For /f "tokens=1-4 delims=:., " %%a in ('time /t') do set hhmm=%%a%%b%%c 
move c:mdc.txt c:%FECHA%%HORA%.TXT
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:Concatenar fecha en fichero bat

Publicado por tonga (1 intervención) el 25/09/2015 14:30:39
Hola, estas utilizando mal las variables.

1
2
3
For /f "eol=; tokens=1,2,3,4* delims=/, " %%i in ('date /t') do set FECHA=%%k%%j%%i 
For /f "tokens=1-4 delims=:., " %%a in ('time /t') do set HORA=%%a%%b%%c 
move c:mdc.txt c:%FECHA%%HORA%.TXT
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