Heure dans un .bat

Résolu/Fermé
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 - 7 mars 2009 à 20:40
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 - 8 mars 2009 à 10:26
Bonjour,

Voilà le fait est que je veut faire en sorte que le fichier .bat si dessous remplace la donnée heure par l'heure actuelle plus 2 minutes auriez vous une idée pour faire cela.

La manière dont je fait attendre le processus utilise une bonne part de l'UC mais ce n'est pas grave : pourriez vous m'aider voila le "code"

@echo off
set /P choix=En ouvrant cette boite, Vous lancer un processus pour tenter de devenir utilisateur system32. Continuer ? (O=Oui ; N=Non)
If /I %choix%==O (
echo Le processus va commencer.
) else (
If /I %choix%==N (
exit
) else echo Par defaut le choix est Oui arreter le batch si vous ne voulez pas l'executer !
)
pause
set temps=10

set /a secondefin=%time:~6,2%+%temps%
if %secondefin% GEQ 60 (goto def) else goto inf1minute


:inf1minute
if %secondefin% EQU %time:~6,2% (goto fin) else goto inf1minute




:def
set /a seconde=%time:~6,2%
set /a minute=%time:~3,2%
set /a heur=%time:~0,2%
set /a minutefin=%time:~3,2%
set /a heurfin=%time:~0,2%
goto sup1minute

:sup1minute
set /a secondefin=%secondefin%-60
set /a minutefin=%minutefin%+1
set minutesecondefin=%minutefin%:%secondefin%
if %secondefin% GEQ 60 (goto sup1minute) else goto sup1heur


:sup1heur
if %minutefin% GEQ 60 (goto sup1heur2)

:sup1heur2
set /a minutefin=%minutefin%-60
set /a heurfin=%heurfin%+1
set heurminuteseconde=%heurfin%:%minutefin%:%secondefin%
if %minutefin% GEQ 60 ( goto sup1heur) else goto start2

:start2
if %heurminuteseconde% EQU %time:~0,8% (goto fin) else goto start2


:fin

echo at (heure qu'il est:minute qu'il est plus 2)xx:xx /interactive cmd>>"C:\Documents and Settings\All Users\Bureau\essai.bat"
pause
"C:\Documents and Settings\All Users\Bureau\essai.bat"
pause
set temps=10

set /a secondefin=%time:~6,2%+%temps%
if %secondefin% GEQ 60 (goto def) else goto inf1minute


:inf1minute
if %secondefin% EQU %time:~6,2% (goto fin) else goto inf1minute




:def
set /a seconde=%time:~6,2%
set /a minute=%time:~3,2%
set /a heur=%time:~0,2%
set /a minutefin=%time:~3,2%
set /a heurfin=%time:~0,2%
goto sup1minute

:sup1minute
set /a secondefin=%secondefin%-60
set /a minutefin=%minutefin%+1
set minutesecondefin=%minutefin%:%secondefin%
if %secondefin% GEQ 60 (goto sup1minute) else goto sup1heur


:sup1heur
if %minutefin% GEQ 60 (goto sup1heur2)

:sup1heur2
set /a minutefin=%minutefin%-60
set /a heurfin=%heurfin%+1
set heurminuteseconde=%heurfin%:%minutefin%:%secondefin%
if %minutefin% GEQ 60 ( goto sup1heur) else goto start2

:start2
if %heurminuteseconde% EQU %time:~0,8% (goto fin) else goto start2


:fin

erase "C:\Documents and Settings\All Users\Bureau\essai.bat"
pause
tskill explorer
pause


Merci pour votre aide
A voir également:

12 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
7 mars 2009 à 21:38
Salut je vois que as utiliser mon script MDR.
Sinon je n'est pas très bien comprit se que voulait faire.
Tu veux que sa te donne l'heure de maintenant plus 2 minute ?
Bilou.
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 21:46
Je veut que dans la partie ou je remplie une ligne de commande d'un un .bat que je créer l'heure soit donner avec deux minute d'avance et je ne croit pas que c'est le tient.dsl

voila la partie

echo at (heure qu'il est:minute qu'il est plus 2)xx:xx /interactive cmd>>"C:\Documents and Settings\All Users\Bureau\essai.bat"
pause
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
7 mars 2009 à 21:47
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 21:49
ah oui c'était toi merci sa ma bien aider je croyait que c'était sur un autre site que j'avais prit cette astuce
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 21:50
En fait tu ne saurait pas pourquoi mon script s'arrête en plein milieu ? même dans une invite de commande.
Et est ce que tu as compris se que je voulait dire?
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
7 mars 2009 à 21:53
Oui tu veut que sa prenne l'heure de maintenant et que sa rajoute 2 min.
c'est bien sa ?
Bilou
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 21:55
oui et que sa me le mette dans le .bat que je créer apres je le lance et une fois qu'il est fini de lance je l'efface et je tu le processus explorer.exe de sorte que chaque fois que je le lance sa ne me demande pas si je veux le remplacer. a tu compris?
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 21:59
oh fait si tu avait une astuce pour faire en sorte que si la réponse a la question du début n'est pas oui ou non cela repose la question sa m'aiderait merci car la y a une sorte de bug.
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
7 mars 2009 à 22:00
Excuse mec mais tu te prend trop la tête.
Voila le scipt

@echo off

::ATTENDRE 2 MIN
ping 0.0.0.0 -n 120 > NUL

::TUER LE PROCESSUS EXPLORER
taskkill /f /im explorer.exe > NUL

pause

Voila avec 4 ligne je tes fait gagner du temps.
Bilou.
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
7 mars 2009 à 22:03
Att je croit que ta pas comprit se que je voulait faire je voulait que le bat pose une question au démarrage que suivant la réponse reste s'exécute ou pas que sa me crer uin .bat qui a pour commande
at xx:xx /interactive cmd
où xx:xx soit l'heure actuelle plus 2 minute que sa le lance attendre 10 seconde pour qu'il soit fini l'effacer et tuer le processus explorer.exe si tu voit ce que je ve dire et merci encore sinon pour ton aide
0
cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
7 mars 2009 à 22:16
Tien voila le script il ne te reste plus qu'a rajouter les truc qui tu voulait (la question au début et tout)
Sinon le script pour rajouter 2 min.
Et le rajouter au fichier bat est là:

@echo off

:def
set /a heure=%time:~0,2%
set /a minute=%time:~3,2%
set /a minute.plus.2=%minute% + 2
set heure.fin=%heure%
set minute.fin=%minute.plus.2%

if %minute.plus.2% GTR 60 (goto sup1heure) else goto start


:sup1heure
set heure.fin=%heure% + 1
set minute.fin=%minute.plus.2% - 60

:start

set heure.plus.minute.fin=%heure.fin%:%minute.fin%

echo %heure.plus.minute.fin%
echo at %heure.plus.minute.fin% /interactive cmd>>"C:\Documents and Settings\All Users\Bureau\essai.bat"
pause


Bilou.
0
vladivostok Messages postés 228 Date d'inscription samedi 6 septembre 2008 Statut Membre Dernière intervention 8 février 2010 20
8 mars 2009 à 10:26
Merci beaucoup c'est vraiment très sympa je voit pas comment j'aurai pû faire sans ton aide

Je valide la résolution du problème
0