Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 4
Aller à la page: 1, 2, 3, 4  >
Batch pour Ouverture d'exe de façon aléatoire
Auteur Message
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Bonjour,Voici mon projet : Je dispose d'un dossier " X ¨" avec une centaine d'exécutables, en exe ou pps. à l'intérieur
je peux les numéroter de un à cent par exemple.
Ma demande, il me faudrait un soft en Batch ou autre qui lorsque je le
lance, va dans le dossier "X", choisit un des diaporamas au hasard, le
lance, et lorsqu'il est fini en lance un autre ..... et ce jusqu'à la
fermeture du soft..
Si quelqu'un a une idée, merci de me donner un coup de main, je seche. Cordialement a tous



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Voici comment lancer un fichier au hasard :
Code:
set r=%random%%%99
start "" "C:\X\%r%.*"


Okay




______________________________________________________
http://www.YagoServer.net/
Visiter le site web du posteur Yahoo Messenger Skype
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Hello,

Si j'ai bien compris :

Code:
set /a nombre1=%random%%%2
if %nombre1%==1 set nombre2=exe
if %nombre1%==2 set nombre2=pps
set /a nombre2=%random%%%51
start programme%nombre1%.%nombre2%


Mais ça, c'est pour si il y a 50 pps et 50 exe dans ton ordi et qu'ils soient appellés programme1, programme2 etc.... (mais tu veux que ça prenne que ceux du dossier ? Car si tu les nommes comme ça, t'as pas besoin de les mettres dans un dossier, car je ne pense pas que tu as des autres fichiers aux mêmes noms)
Pour faire que si un diaporama est fini, qu'un autre commence, je vais voir, mais il faut faire une boucle avec if exist programme%nombre1%.%nombre2% je pense...
J'ai pas testé et je ne sais pas si c'est ce que tu veux, alors tu me redis...

EDIT : yago m'a dépassé pendant que j'écrivais Rolling Eyes mais ton code lance un fichier avec n'importe quelle extension...



Dernière édition par sablier94 le Lun 16 Aoû 2010 - 18:04; édité 1 fois

______________________________________________________
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Merci a vous deux, j'avance, je teste dés lundi. Merci encore



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Bonjour sablier,
Merci pour ton code, par contre il ne fonctionne pas. Pour exemple il renvoie à l'erreur " windows ne trouve ' programme1.5 ' ou 'programme0.27'
Par contre ton idée m'interressait, d'aller chercher directement sur le pc et non sur le dossier, de pouvoir le faire pour 100 fichiers exe et 100 pps ou plus meme.
pour la boucle j'ai trouvé :
ping 127.0.0.1 -n 15 > NUL
goto debut

et ça marche.
Si tu as une correction je suis preneur.
merci à toi



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Oui, j'ai fait des changements, et voila le code :

Code:
@echo off
:reset
set /a nombre1=%random%%%3
if %nombre1%==1 set nombre2=exe
if %nombre1%==2 set nombre2=pps
if %nombre1%==0 goto reset
set /a nombre3=%random%%%51
:reset2
if %nombre3%==0 goto reset2
start programme%nombre3%.%nombre2%


Il marche super ! Par contre tes programmes doivent s'appeler : programme1.exe, programme2.exe, jusqu'à 50.

Et pour ta boucle, elle marche, mais je ne pense pas que c'est la meilleur solution. Car tes exe ne s'ouvrent pas 15 secondes seulement et tes diaporamas ont une longeur différente non ? Si oui, on devra faire avec if exist.

A+



Dernière édition par sablier94 le Lun 16 Aoû 2010 - 18:50; édité 1 fois

______________________________________________________
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Salut,
Alors la j'ai un vrai blème !!!
Il marche pas chez moi, je suis en xp pro
tu es sur que je peux mettre les programme*.exe ou je veux, car ils sont dans un dossier sur le bureau et il fait la requete, ne trouve pas, pourtant le fichier existe avec le meme nom.
Pour la boucle je suis preneur de ta solution , si tu as une minute de plus pour moi, car je ne connais pas ce code. merci à toi, à+



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
C'est encore moi, j'oubliais, la meilleure solution est que je melange les exe et pps, 1 à 50 en exe et 51 à 100 en pps
ton code ne propose que les exe et il ne donne jamais les pps !!!
je cherche aussi de mon coté mais tu a l'air d'être a des années lumieres de mes capacités d' autodidacte. à+ j'en rêve souvent



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Voilà le code qui ouvre aussi de .pps :

Code:
@echo off
:reset
set /a nombre1=%random%%%3
if %nombre1%==1 set nombre2=exe
if %nombre1%==2 set nombre2=pps
if %nombre1%==0 goto reset
set /a nombre3=%random%%%51
:reset2
if %nombre3%==0 goto reset2
start programme%nombre3%.%nombre2%


Tu peux les mélanger avec ce code, y a pas de problème. Mais si tu veux comme t'as dit (de 1 à 50 en exe et de 51 à 100 en pps) c'est ça qu'il te faut :

Code:
@echo off
:reset
set /a nombre1=%random%%%100
if %nombre1% LSS 51 set nombre2=exe
if %nombre1% GTR 51 set nombre2=pps
if %nombre1%==51 set nombre2=exe
if %nombre1%==0 goto reset
start programme%nombre1%.%nombre2%


Pour ton if exist, je vais juste voir, je me rappelle plus de la syntaxe...
T'inquiète pas pour tes capacités, c'est normal au début (même moi, je ne suis pas très fort) et je suis perdu en php alors je te comprends...




______________________________________________________
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Super sympa, je pense que demain je vais m'eclater à tester tout ça, en fait il faut que je te dises pourquoi ce projet, il se trouve que je dirige une maison de retraite et dans le salon j'ai mis un poste à dispo avec internet webcam, ecran télé, et avec ce soft, je surprend mes résidents qui se rassemblent autour car ils adorent les diapo avec musique, animaux - paysage - humour - visites à travers le monde etc, en m'aidant tu aides aussi nos ainés, et ça c'est super bien , notre tour viendra.
encore merci à toi



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Ho, c'est une bonne idée ça ! Okay (Je suis content d'y faire participer)

Mais alors pourquoi ouvrir des exe ?

Pour if exist essaie avec ceci (je n'ai pas testé car je n'ai pas les programmes):

Code:
@echo off
:reset
set /a nombre1=%random%%%100
if %nombre1% LSS 51 set nombre2=exe
if %nombre1% GTR 51 set nombre2=pps
if %nombre1%==51 set nombre2=exe
if %nombre1%==0 goto reset
start programme%nombre1%.%nombre2%
:continuer
ping localhost -n 4 > nul
if exist programme%nombre1%.%nombre2% goto continuer
goto reset


J'ai mis une pause de 4 secondes pour eviter de ralentir trop le pc, mais tu peux changer...




______________________________________________________
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Salut, merci à toi, je vais tester ça aujourd'hui.
Pourquoi des exe et bien parce que j'ai des tonnes de diaporamas et donc beaucoup en picture.exe
Je te tiens au jus. à+



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
sablier94 a écrit:
Ho, c'est une bonne idée ça ! Okay (Je suis content d'y faire participer)

Mais alors pourquoi ouvrir des exe ?

Pour if exist essaie avec ceci (je n'ai pas testé car je n'ai pas les programmes):

Code:
@echo off
:reset
set /a nombre1=%random%%%100
if %nombre1% LSS 51 set nombre2=exe
if %nombre1% GTR 51 set nombre2=pps
if %nombre1%==51 set nombre2=exe
if %nombre1%==0 goto reset
start programme%nombre1%.%nombre2%
:continuer
ping localhost -n 4 > nul
if exist programme%nombre1%.%nombre2% goto continuer
goto reset


J'ai mis une pause de 4 secondes pour eviter de ralentir trop le pc, mais tu peux changer...


Salut,

...
start programme%nombre1%.%nombre2%

Comme il n'y a pas de chemin donner, il sera exécuter dans le dossier en cours
Si le fichier n'y est pas... erreur.

Si le fichier existe, il reste dans la boucle :continuer et ne passera jamais goto reset


Et enfin, code plus simple

@echo off
:reset
set /a nombre=%random%%%100 + 1
if %nombre% LSS 51 (set File=programme%nombre%.exe) else set File=programme%nombre%.pps
if not exist %File% goto :reset

rem ici le reste de code

Pour que cela fonctionne correctement, il doit mettre les fichiers dans le même dossier d'exécution de ce programme.



Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
Hello,

Citation:

Pour que cela fonctionne correctement, il doit mettre les fichiers dans le même dossier d'exécution de ce programme.


Cela me parait logique.

Citation:
Si le fichier existe, il reste dans la boucle :continuer et ne passera jamais goto reset


Oui, c'est normal.
Par contre, je crois que je me suis trompé, if exist c'est si le fichier exist dans le dossier. Mais je sais qu'on peut faire avec le fichier en cours d'exécution. Rolling Eyes

Voilà un code que j'ai modifié, et qui devrait marcher... (trouvé dans un post de yago.)
Code:

del g.txt
tasklist | find "programme%nombre1%.%nombre2%"   > g.txt
for /f "eol=; tokens=1 delims=," %%a in ('type "g.txt"') do set g=%%a
cls
if "%g%"=="" goto reset
if not "%g%"=="" goto continuer


Citation:
set /a nombre=%random%%%100 + 1
if %nombre% LSS 51 (set File=programme%nombre%.exe) else set File=programme%nombre%.pps


Oui, c'est plus simple, mais tant que ça fonctionne... Mr. Green

Merci pour ton aide =)




______________________________________________________
Répondre en citant
Message Batch pour Ouverture d'exe de façon aléatoire 
del g.txt
tasklist | find "programme%nombre1%.%nombre2%" > g.txt
for /f "eol=; tokens=1 delims=," %%a in ('type "g.txt"') do set g=%%a
cls
if "%g%"=="" goto reset
if not "%g%"=="" goto continuer

Avec cela oui.

Tasklist liste tout les prgs en cours.

Ensuite, il vérifie que le prg X est actif/inactif
Si find n'a rien trouvé, le contenue de g.txt est vide
si actif il boucle sinon passe au suivant

Mais cela je n'ai pas vue dans ton programme.

D'ou mon intervention pour le signaler.



Message Batch pour Ouverture d'exe de façon aléatoire 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 4
Aller à la page: 1, 2, 3, 4  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch