Faire une pause dans l'exécution de mon batch
ProtecTueur
Messages postés
24
Date d'inscription
Statut
Membre
-
ProtecTueur Messages postés 24 Date d'inscription Statut Membre -
ProtecTueur Messages postés 24 Date d'inscription Statut Membre -
Bonjour,
Alors j'ai encore un problème dans ma ligne de code, je pose mon sujet avec un titre plus approprié.
Or, mon problème est que le programme crée le répertoire "TEST", déplace le mspaintboucle.bat qui l'a crée (le répertoire TEST)l, mais il faut que j'aille dans "C:\WINDOWS\SYSTEM32\TEST\" pour re-cliquer sur le mspaintboucle.bat pour exécuter ca:
Car il n'aura pas crée le "nouveau.bat" mais en re-cliquant dessus cela le créera et engagera la boucle.
Mon problème est que je dois cliquer 2 fois sur le mspaintboucle.bat, la première sur mon bureau et la deuxième dans le répertoire qu'il a crée pour pouvoir créer "nouveau.bat"et le faire en boucle, j'aimerai éviter le double clic et qu'il s'exécute d'un seul clic. Est-ce que c'est parce que "nouveau.bat" n'a pas le temps de se crée alors l'application se termine avant de pouvoir le créer? Et donc si c'est bien le cas, j aimerai savoir comment faire une pause entre la création de "nouveau.bat" et la boucle pour qu'il ait le temps de se créer, ou si c'est une erreur dans mon code qui fait que c'est impossible à réaliser? Dans ce cas de l'aide serait la bienvenue.
Alors j'ai encore un problème dans ma ligne de code, je pose mon sujet avec un titre plus approprié.
@echo off
cls
MD "C:\WINDOWS\SYSTEM32\TEST" 'Ceci crée le répertoire / dossier TEST.
FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" Ceci déplace mspaintboucle.bat qui est ce batch ci à l'intérieur du répertoire crée
echo "@echo off">nouveau.bat
echo cls>>nouveau.bat
echo start mspaint>>nouveau.bat Ceci aura pour conséquence de me crée le fichier "nouveau.bat" qui exécutera en boucle mspaint avec la ligne suivante
:boucle
start C:\WINDOWS\SYSTEM32\TEST\nouveau.bat
goto boucle
PAUSE
Or, mon problème est que le programme crée le répertoire "TEST", déplace le mspaintboucle.bat qui l'a crée (le répertoire TEST)l, mais il faut que j'aille dans "C:\WINDOWS\SYSTEM32\TEST\" pour re-cliquer sur le mspaintboucle.bat pour exécuter ca:
echo "@echo off">nouveau.bat echo cls>>nouveau.bat echo start mspaint>>nouveau.bat Ceci aura pour conséquence de me crée le fichier "nouveau" qui exécutera en boucle mspaint avec la ligne suivante :boucle start C:\WINDOWS\SYSTEM32\TEST\nouveau.bat goto boucle
Car il n'aura pas crée le "nouveau.bat" mais en re-cliquant dessus cela le créera et engagera la boucle.
Mon problème est que je dois cliquer 2 fois sur le mspaintboucle.bat, la première sur mon bureau et la deuxième dans le répertoire qu'il a crée pour pouvoir créer "nouveau.bat"et le faire en boucle, j'aimerai éviter le double clic et qu'il s'exécute d'un seul clic. Est-ce que c'est parce que "nouveau.bat" n'a pas le temps de se crée alors l'application se termine avant de pouvoir le créer? Et donc si c'est bien le cas, j aimerai savoir comment faire une pause entre la création de "nouveau.bat" et la boucle pour qu'il ait le temps de se créer, ou si c'est une erreur dans mon code qui fait que c'est impossible à réaliser? Dans ce cas de l'aide serait la bienvenue.
Configuration: Windows XP Firefox 2.0.0.14
13 réponses
-
mettre un timer???
c est possible dans tous les langages il me semble
faudrait ressortir mon bouquin DOS ;o)) -
Oui en gros, mais est-ce que mon code est juste? Or mis le timer?
-
oui, il a l' air à peu près juste, pour le Timer, cherche un peu, je te donne la réponse dans 10 minutes :)
-
bon allezz.... tiens:
set /A heurfin=%time:~6,2%+X
:start
set /a heur=%time:~6,2%
set /a temprestant=%heurfin%-%heur%
if "%heurfin%"=="%heur%" goto finpause
goto start
:finpause -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
puree des goto ... me manque les go sub et ce sera complet
... ca me rappelle mes premieres heures d'informatique...
celles d'avant windows 95, ou le DOS 5.0 etait une reference et 6.1 une daube, sauf le dblspace.exe
lol -
C'est incomplet la? 6,2 étant en seconde?
-
echo off cls MD "C:\WINDOWS\SYSTEM32\TEST" FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" set /A heurfin=%time:~6,2%+X :start set /a heur=%time:~6,2% set /a temprestant=%heurfin%-%heur% if "%heurfin%"=="%heur%" goto finpause goto start :finpause echo "@echo off">shutdown.bat echo cls>>shutdown.bat echo shutdown -s>shutdown.bat echo PAUSE>shutdown.bat set /A heurfin=%time:~6,2%+X :start set /a heur=%time:~6,2% set /a temprestant=%heurfin%-%heur% if "%heurfin%"=="%heur%" goto finpause goto start :finpause :boucle start C:\WINDOWS\SYSTEM32\TEST\shutdown.bat goto boucle PAUSE
J'ai fais comme ca, mais ca ne marche pas, elle est ou l'erreur? -
Non, X doit être en seconde.
Je ne pense pas que ce soit un problème de temps ! L'exécution d'un script est toujours séquentielle, et tes fichiers sont tout petit.
Ton nouveau.bat, tu le cré où ?
C'est normal que ça ne fonctionne pas, tu ne respecte pas le répertoire courant le PATH etc. -
Mon répertoire est crée dans C:\WINDOWS\system32\TEST afin que je puisse le lancer avec la fonction "start", et mon fichier se crée à l'intérieur de celui ci.
-
@echo off cls MD "C:\WINDOWS\SYSTEM32\TEST" 'Ceci crée le répertoire / dossier TEST. FOR /F %%a in ('DIR /b *.bat') DO MOVE "%%a" "C:\WINDOWS\SYSTEM32\TEST" Ceci déplace mspaintboucle.bat qui est ce batch ci à l'intérieur du répertoire crée cd C:\WINDOWS\SYSTEM32\TEST\ call "C:\WINDOWS\SYSTEM32\TEST\mspaintboucle.bat" echo "@echo off">nouveau.bat echo cls>>nouveau.bat echo start mspaint>>nouveau.bat Ceci aura pour conséquence de me crée le fichier "nouveau.bat" qui exécutera en boucle mspaint avec la ligne suivante :boucle start C:\WINDOWS\SYSTEM32\TEST\nouveau.bat goto boucle PAUSE--
Salutation !
Char Snipeur -
écoute, ca ne marche toujours pas, le répertoire est crée le .bat qui contient le code, se déplace dedans, mais rien ne déclenche mspaint, j'ai même essayer de cd/call le nouveau.bat mais rien, c'est un truc tellement simple que ca me casse la tête...
-
rien ne lance mspaint ?
as tu au moins testé que cette commande suffisait, que mspaint est bien dans le PATH ? -
Bas écoute, si je lance le fichier, et que je vais dans le répertoire créé, et que je reclique dessus, ca marche. Faut cliquer 2 fois dessus donc... Et c'est ce que j aimerai éviter.