[Batch] sacar el dia de la varibale %DATE% (Solucionado)

Iniciado por moikano→@, 11 Diciembre 2010, 17:32 PM

0 Miembros y 1 Visitante están viendo este tema.

moikano→@

Saludos

Estoy intentando hacer una especie de programador de tareas un tanto rústico con batch.
Lo que quiero hacer es que en una variable se guarde el día o el mes o el año (lo que yo quiera) de la variable de entorno %date% y luego la compare con un if para ejecutar una lista de comandos en caso de que el día coincida con el 1 o 4 o en definitiva el numero que yo quiera.

No se si me e explicado bien, no voy a poner un código de ejemplo porque no se que usar exactamente para poder sacar los dos primeros números (para el día) de la variable %date% y almacenarlos en otra variable.

No hace falta que me hagáis el código completo, ya que yo quiero que me digáis mas o menos los parámetros a usar y ya me lo monto yo, que sino no aprendo nada. A y sobretodo si esto es posible.

Gracias de antemano =)


leogtz

Puedes usar extracción de caracteres.

Código (dos) [Seleccionar]
set myvar=%time:~m,n%

Obtienes la subcadena desde la posición "m" hasta "n". Ve jugando con eso para obtener lo que deseas.

Otra manera es usar FOR.

Código (dos) [Seleccionar]
for  /f "tokens=1,2,3" %%a in ('echo %time%') do (
    set a=%a%
    set b=%b%
    set c=%c%
)



Sin probar.

PD: También se puede usar time /t en el for.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

FJPPitta

y con

%date:~0,2%

tambien funcionaria?

set dia=%date:~0,2%

saludos
Saludos
FJPPittta

moikano→@


moikano→@

Perfecto, justo lo que buscaba! Gracias!  ;-)

Con el for tokens (que ya me olía que con ese parámetro se podía hacer) no me e aclarado, pero con el otro a sido muy fácil.

Por si alguien quiere saber la solución el código quedaría así:

@echo off
set myvar=%date:~0,2%
echo %myvar%
pause > nul


Esto devuelve el día que tiene asignado tu SO.