Tom's Guide > Forum > Programmation > Fichier Batch. (Choice)

Fichier Batch. (Choice)

Forum Programmation : Fichier Batch. (Choice)

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Salut à tous.

Alors, j'ai créé un fichier batch pour choisir une résolution sur Counter-strike. Car j'ai une partie pour jouer, et une autre pour faire des movies, mais la résolutions des deux parties est différente.

Par contre, lorsque je choisis entre la résolution 800x600 et 1024x768 je dois appuyer sur une touche et entrer.

J'aurais voulu savoir comment enlever le "entrer" de fin.

Citation :

@echo off
title R,solution

set fix=Counter-Strike
set depart=Tybbow, Résolution Counter-strike.

:deb
cls
TITLE %fix%
color FC
cls
echo %fix%
echo.
echo %depart%
echo.
echo J. Parametres Jeu
echo M. Parametres Movie
echo F. Quitter
echo.
echo.
set menu=''
set /p menu= J M F et presser entrer.

if "%menu%"=="J" goto ch1
if "%menu%"=="j" goto ch1
if "%menu%"=="M" goto ch2
if "%menu%"=="m" goto ch2
if "%menu%"=="F" goto end
if "%menu%"=="f" goto end

:ch1

regedit 800.reg

goto deb


:ch2

regedit 1024.reg

goto deb


end:
cls




Je pense que cela vient du /p. Merci de bien vouloir m'aider.

------------------------------ En Restaurant, le coeur de breizh
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

rajoute echo sendkeys "{enter}" > enter.vbs

et a la fin de la commande qui change la résolution, open enter.vbs

Répondre à narrateur747

Merci de ta réponse.
Mais malheureusement, je n'arrive pas à faire fonctionner. Peut être moi...

Citation :

title R,solution

set fix=Counter-Strike
set depart=Tybbow, Résolution Counter-strike.

:deb
cls
TITLE %fix%
color FC
cls
echo %fix%
echo.
echo %depart%
echo.
echo J. Parametres Jeu
echo M. Parametres Movie
echo F. Quitter
echo.
echo.
echo sendkeys "{enter}" > enter.vbs
set menu=''
set /p menu= J M F et presser entrer.

if "%menu%"=="J open enter.vbs" goto ch1
if "%menu%"=="j" goto ch1
if "%menu%"=="M" goto ch2
if "%menu%"=="m" goto ch2
if "%menu%"=="F" goto end
if "%menu%"=="f" goto end

:ch1

regedit 800.reg

goto deb


:ch2

regedit 1024.reg


goto deb


end:
cls



Voici ce que j'ai.


Message édité par Tybbow le 02-07-2007 à 20:51:40
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

Ce que tu demande n'est pas possible en DOS pur (c'est pas fait pour programmer un jeu, en plus DOS est très limité).
Il faut utiliser un programme externe (c'est un peu ce qu'indique narrateur747)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Non, je ne veux pas programmer un jeu. Je veux seulement choisir la résolution de mon image sans passer par les options avant le lancement du jeu en changeant la clef du registre lui concernant.
Il est possible de le faire avec une commande: choice

Mais, j'aimerais avoir le même truc, sans choice.. Je trouve plus joli d'avoir un menu et un choix plutôt que le choix en lui même.

Sinon, cela se serait plus simple encore:

Citation :

@echo off

:deb
cls
echo.
echo Installation Logiciel
echo.
echo 1) Installation Driver Nvidia.
echo 2) Installation Driver ATI.
echo 3) Installation Pilote Imprimante, Scanner.
echo 4) Installation Logiciel "partie 1"
echo 5) Installation Logiciel "partie 2"
echo 6) Installation Logiciel "partie 3"
echo 7) Quitter.

choice /c:1234567

if errorlevel 7 goto end
if errorlevel 6 goto ch6
if errorlevel 5 goto ch5
if errorlevel 4 goto ch4
if errorlevel 3 goto ch3
if errorlevel 2 goto ch2
if errorlevel 1 goto ch1

:ch1

"I:\Install\Installation\Driver\Driver Nvidia\setup.exe"

goto deb
:ch2

I:\Install\Installation\I\ATI.bat

goto deb
:ch3

"I:\Install\Installation\I\Imprimante Scanner.bat"

goto deb
:ch4

I:\Install\Installation\I\Logiciel.bat

goto deb
:ch5

I:\Install\Installation\I\Logiciel1.bat

goto deb
:ch6

I:\Install\Installation\I\Logiciel2.bat

goto deb

end:
cls



Un truc du genre.


Message édité par Tybbow le 02-07-2007 à 22:09:01
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

sous xp ou vista, ce n'est pas possible (ou alors je connais pas) par contre, tu peux télécharger l'utilitaire choice.com depuis microsoft:
ftp://ftp.microsoft.com/Services/ [...] CHOICE.COM
et l'utiliser comme avant

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Bon, je vais passer par choice.exe. (Choice.com) ^^

Merci à vous.

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

Met-toi à la programmation en Python, tu verrais alors que DOS est très limité ;)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ouai, mais si je me souviens bien, le Python n'est pas très logique.

 

Après, je ne me met pas à la programmation, j'apprends juste 2-3 bases pour pas faire le guignol d'vant mes potes XD

 

Non, j'déconne. C'est juste pour lancer 2-3 applications et essayer de battre un record de rapidité d'installation de Windows et configuration de tous les logiciels.

 

J'ai effectué un score de 1h20minutes avec un formatage lent d'un DD de 30Go.

 

Enfin! J'vais passer au DOS et peut être essayer le Visual Basic pourquoi pas. ^^


Message édité par Tybbow le 03-07-2007 à 21:23:13
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

Citation :

Ouai, mais si je me souviens bien, le Python n'est pas très logique.


Je pense surtout que tu n'as jamais programmé en python...
Parce que si on doit choisir un langage pas logique, c'est le DOS ! (voir l'utilisation d'une variable incrémentée dans une boucle).

Citation :

Après, je ne me met pas à la programmation, j'apprends juste 2-3 bases pour pas faire le guignol d'vant mes potes XD

Non, j'déconne. C'est juste pour lancer 2-3 applications et essayer de battre un record de rapidité d'installation de Windows et configuration de tous les logiciels.


Tu peux utiliser une console python comme une console DOS, sauf que la console python permet bien plus.

Citation :

Enfin! J'vais passer au DOS et peut être essayer le Visual Basic pourquoi pas. ^^


Oui, ou passer au VB, mais pas rester au DOS ;)

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

le langage depend du but
si le but est de pouvoir lancer 2-3 commandes au choix sur un poste fraichement installé, le batch, et eventuellement wsh (windows scripting host) sont quand meme mieux placés

le python ou vb est surdimensionné pour ce genre de choses ;)

et d'ailleurs, les langages, il y en a légion, le php aussi peut etre utilisé en cli, le perl, ruby, bash sous windows etc..

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

python, surdimensionné ? non, ça se sert aussi comme un shell par exemple on peut dezipper un fichier, calculer un md5, le tout dans une console (d'ailleurs ça peut être considéré comme un shell script avec le #!/usr/bin/env python.
D'ailleurs les tuto de début sont pour faire des additions dans la console ;)
En cherchant un tuto pour vous montrer, j'ai vu que le site du zéro en a fait un:
http://www.siteduzero.com/tuto-3-2 [...] ython.html
Le python, y a pas plus simple et ça reste performant :)
Achetez-le, c'est gratuit :D

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ouai, mais faut d'abord installer un soft pour pouvoir utiliser et faire du Python non? Si c'est le cas, je devrais forcement passer par un .bat pour installer le module Python ^^

Mais, je garde le lien, cela peut être intéressant. Merci!

En ce qui concerne la logique du Python, cela était dû à un calcul... Je ne me rappelle plus lequel. Enfin, il n'avait pas logique de la priorité + - * /

Si je me souviens bien.

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

Yop, je reviens pour une question. Je continu à créer mon petit truc tranquillement et au file des jours, je vois qu'il prend de l'ampleur :d

Mais, j'aurais voulu savoir, si je peux créer une installation automatique d'un logiciel? Sans avoir besoin de cliquer sur suivant etc?

Je vous explique:

Citation :

@echo off
Title Installation.

set fix=Installation

:deb
cls
TITLE %fix%
color 1F
cls
echo %fix%
echo.
echo Installation Logiciel
echo.
echo 1) Installation Driver
echo 2) Installation Logiciel "Minimum"
echo 3) Installation Logiciel "Moyen"
echo 4) Installation Logiciel "Maximun"
echo 5) Installation Logiciel "Personnalis‚"
echo 6) Windows Installer 3.1
echo 7) Quitter.
echo.
echo.
set /p menu= 1; 2; 3; 4; 5; 6; 7 et presser entrer:
echo.

if "%menu%"=="1" goto ch1
if "%menu%"=="2" goto ch2
if "%menu%"=="3" goto ch3
if "%menu%"=="4" goto ch4
if "%menu%"=="5" goto ch5
if "%menu%"=="6" goto ch6
if "%menu%"=="7" goto end

:ch1

"H:\Install\Installation\Driver\CPanel\Setup.exe"


"H:\Install\Installation\Driver\Driver ATI\Setup.exe"


"H:\Install\Installation\Driver\Driver Nvidia\setup.exe"


"H:\Install\Installation\Driver\Imprimante\Setup.exe"


"H:\Install\Installation\Driver\Scanner\CanonToolBox\Disk1\Setup.exe"

goto deb

:ch2

xcopy /s /f /c "H:\Install\Installation\Program Files" "%ProgramFiles%"

xcopy /s /f /c "H:\Install\Installation\Menu\Programmes" "%userprofile%\Menu D,marrer"

xcopy /s /f /c "H:\Install\Installation\Bureau" "%userprofile%\Bureau"

regedit clef.reg

"H:\Install\Installation\Logiciel\Mozilla.exe"

"H:\Install\Installation\Logiciel\sld.exe"

"H:\Install\Installation\Logiciel\AdbeRdr80.exe"

goto deb

:ch3
xcopy /s /f /c "H:\Install\Installation\Program Files" "%ProgramFiles%"

xcopy /s /f /c "H:\Install\Installation\Menu\Programmes" "%userprofile%\Menu D,marrer"

xcopy /s /f /c "H:\Install\Installation\Bureau" "%userprofile%\Bureau"

regedit clef.reg

"H:\Install\Installation\Logiciel\MSN.exe"

"H:\Install\Installation\Logiciel\Mozilla.exe"

"H:\Install\Installation\Logiciel\sld.exe"

"H:\Install\Installation\Logiciel\MSNp.exe"

"H:\Install\Installation\Logiciel\AdbeRdr80.exe"

:ch4

xcopy /s /f /c "H:\Install\Installation\Program Files" "%ProgramFiles%"

xcopy /s /f /c "H:\Install\Installation\Menu\Programmes" "%userprofile%\Menu D,marrer"

xcopy /s /f /c "H:\Install\Installation\Bureau" "%userprofile%\Bureau"

regedit clef.reg

"H:\Install\Installation\Logiciel\MSN.exe"

"H:\Install\Installation\Logiciel\Microsoft\Setup.exe"

"H:\Install\Installation\Logiciel\WMplayer\wmp11.exe"

"H:\Install\Installation\Logiciel\Sony Vegas Video\vegas.exe"

"H:\Install\Installation\Logiciel\icinstfr.exe"

"H:\Install\Installation\Logiciel\AdbeRdr80.exe"

"H:\Install\Installation\Logiciel\Mozilla.exe"

"H:\Install\Installation\Logiciel\sld.exe"

"H:\Install\Installation\Logiciel\MSNp.exe"

"H:\Install\Installation\Logiciel\Speedfan.exe"

"H:\Install\Installation\Logiciel\Imtoo.exe"

"H:\Install\Installation\Logiciel\Mirc621.exe"

"H:\Install\Installation\Logiciel\atitool.exe"

"H:\Install\Installation\Logiciel\super.exe"

"H:\Install\Installation\Logiciel\daemon347.exe"

goto deb
:ch5

cls
TITLE %fix% - Personnalisation
color 1F
cls
echo %fix%
echo.
echo Installation Logiciel
echo.
echo 1) Installation Driver
echo 2) Installation Logiciel "copie"
echo 3) Installation Logiciel "partie 1"
echo 4) Installation Logiciel "partie 2"
echo 5) Installation Logiciel "partie 3"
echo 6) Quitter.
echo.
echo.
set /p menu= 1; 2; 3; 4; 5; 6 et presser entrer:
echo.

if "%menu%"=="1" goto sh1
if "%menu%"=="2" goto sh2
if "%menu%"=="3" goto sh3
if "%menu%"=="4" goto sh4
if "%menu%"=="5" goto sh5
if "%menu%"=="6" goto sh6
if "%menu%"=="7" goto end

goto ch5

:ch6

"H:\Install\Installation\Logiciel\WindowsInstaller-KB893803-v2-x86.exe"

goto deb

end:
cls




Bon, il n'est pas fini loin de là.. Je pense pouvoir le finir bientôt. Mais comment dire:

Prenons exemple avec l'installation des drivers.


Citation :

"H:\Install\Installation\Driver\CPanel\Setup.exe"


"H:\Install\Installation\Driver\Driver ATI\Setup.exe"


"H:\Install\Installation\Driver\Driver Nvidia\setup.exe"



Au début, j'installe le contrôle Panel... Ensuite, lorsqu'il est fini, j'installerais les drivers de la carte graphique.
Seulement, lorsque la première installation sera fini. N'est-il pas possible de créer, comme une sorte de "Bind" pour faire plusieurs étapes simultanément?
Car je souhaiterais, par, ce que Narrateur747 m'a appris:

Citation :

echo sendkeys "{enter}" > enter.vbs



Faire en sorte, que l'installation se fasse de façon automatiquement, avec un script (par exemple) pour appuyer sur "entrer"
Mais, pour cela, il me faudrait pouvoir faire plusieurs étapes simultanément.

J'espère avoir été clair dans mes propos.

Merci!

Ps: Je n'ai pas envie de passer au Python pour le moment :d surtout que je devrais réapprendre toutes les bases, avant de terminer mon "machin"

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

plusieurs étapes simultanément ? Je ne te le conseille pas (ou alors sur un OS temps réel).
Installer les les uns après les autres. De toutes façon, tu as le temps puisque c'est automatique (c'est l'intérêt de l'automatique non ? :) )

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Lool.. Bah, ce n'est pas encore vraiment automatique. Puisque dans tous les cas, je devrais tout de même lancer sur "suivant, suivant, suivant etc.."
Je parlais d'automatisme pour lancer un fichier script qui le ferrait à ma place, justement.

 

Je voudrais, qu'il appuie de lui même sur "entrer" etc... Malheureusement, je ne sais pas trop comment mit prendre.

 

J'ai essayé un truc du genre, mais cela ne marche pas.

 
Citation :

@echo off

 

:partie3
cls
TITLE %fix% - Personnalisation "partie 3"
color 1F
echo.
echo Installation Logiciel
echo.
echo 1) Installation Speedfan.
echo.
echo.
echo sendkeys "{enter}" > enter.vbs
set /p menu= 1

 

if "%menu%"=="1" goto partie31

 

:partie31

 

"F:\Tybbow\Install\Logiciel\Speedfan.exe"

 

goto partie3

 

:partie31

 

"enter.vbs"

 

Quelque chose du genre... Enfin, enfaite j'en sais rien, alors si vous avez une idée, merci de m'en faire parvenir!


Message édité par Tybbow le 05-07-2007 à 22:12:02
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

tu peux utiliser un utilitaire de ce genre:
http://www.01net.com/telecharger/w [...] /6931.html
pour enregistrer la souris + clavier
mais l'inconvénient, c'est qu'il va falloir l'installer en premier... et manuellement :)

 

sinon t'as la possibilité de programmer ca avec wsh mais c'est relativement fastidieux


Message édité par coca25 le 05-07-2007 à 22:14:38
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

La deuxième proposition me parait pas mal :d

Si tu pouvais m'expliquer un peu le but.

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

echo sendkeys "{enter}" > enter.vbs

et quand tu as besoin de valider tu fais :

run enter.vbs

Répondre à narrateur747

narrateur747 a écrit :

echo sendkeys "{enter}" > enter.vbs

et quand tu as besoin de valider tu fais :

run enter.vbs


C'était à ça que je pensais. Il faut éviter de lancer une install quand l'autre n'est pas terminée.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Ouai, mais comment veux-tu que je le fasse fonctionner, si je ne peux lancer simultanément 2 applications?

 

Ps: Aurais-je oublié d'énoncer que je n'y connais rien en programmation? ^^


Message édité par Tybbow le 05-07-2007 à 22:27:24
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

J'ai peut-être pas bien compris.
Tu en lances un, tu l'installes avec les "Entrée", tu temporise s'il faut, et tu lance le suivant, etc.

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

OUai, je suis entièrement d'accord avec toi.

Prenons exemple:

Citation :

@echo off


:partie3
cls
TITLE %fix% - Personnalisation "partie 3"
color 1F
echo.
echo Installation Logiciel
echo.
echo 1) Installation Speedfan.
echo.
echo.
echo sendkeys "{enter}" > enter.vbs
set /p menu= 1


if "%menu%"=="1" goto partie31


:partie31


"F:\Tybbow\Install\Logiciel\Speedfan.exe"


goto partie3



Où dois-je placer le "run enter.vbs" pour que celui-ci puisse fonctionner?


Message édité par Tybbow le 05-07-2007 à 22:29:31
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

après avoir lancé le programme (allez je t'ajoute même une tempo d'une seconde en envoyant 2 ping):
"F:\Tybbow\Install\Logiciel\Speedfan.exe"
ping -n 2 127.0.0.1 >NUL 2>NUL
run enter vbs

------------------------------ 6800A007B81300CD10B00131C989CF26880541
81F900FA750230EDBADA03ECA80875FBECA808
74FBE4603C0175DFB80300CD10B8004CCD21
Répondre à CRicky

Voilà, tu tombes dans le même panneau que moi.

Je t'explique! WOuahh, j'vais peut être apprendre quelque chose à CRicky :p

Avant de pouvoir lancer une autre application, il faut ABSOLUMENT que celle d'avant soit TERMINER.

En gros, pour que je puisse lancer:
ping -n 2 127.0.0.1 >NUL 2>NUL
run enter.vbs

Il faut que l'application "Speedfan" soit terminé. Tant que cette application est en fonctionnement, je ne pourrais lancer une autre commande.

Voilà, où se situe mon problème.


Merci de vouloir m'aider à mon projet.. Je viens d'y passer toute la journée. Oo

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

tu peux utiliser:


start /w application.exe


ca ne rends la main que quand c'est fini, par contre ca suppose 1 programme qui tourne en parallèle pour l'envoi d'entrée

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

tiens un exemple qui peut t'interesser:



Dim WshSHell
set WshShell = CreateObject("WScript.Shell" )
WshShell.Run("calc" )
WScript.Sleep(100)
WshShell.AppActivate("Calculator" )
WScript.Sleep(100)
WshShell.SendKeys("1{+}" )
WScript.Sleep(500)
WshShell.SendKeys("2" )
WScript.Sleep(500)
WshShell.SendKeys("~" )
WScript.Sleep(500)
WshShell.SendKeys("*3" )
WScript.Sleep(500)
WshShell.SendKeys("~" )
WScript.Sleep(2500)


à sauvegarder dans machin.vbs
source: http://msdn2.microsoft.com/en-us/library/ms974584.aspx

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Citation :

ca ne rends la main que quand c'est fini, par contre ca suppose 1 programme qui tourne en parallèle pour l'envoi d'entrée


Euh, je pense que tu n'as pas compris :d
^^

Alors, je m'explique clairement.

Lorsque j'exécute mon fichier .bat, je ne peux lancer une installation à la fois. Tant que cette installation n'est pas fini ou n'a pas été annulé, mon programme ne peut exécuter la commande suivante.

Imaginons j'ai:

"F:\Tybbow\Install\Logiciel\Speedfan.exe"

"F:\Tybbow\Install\Logiciel\Gimp.exe"

L'installation de GIMP, ne pourra s'effectuer, une fois que celle de Speedfan sera fini.
Donc, tant que je ne puisse effectuer 2 applications à la fois, je ne pourrais en aucun cas me servir de script pour appuyer sur "entrée" à ma place.

En revanche, ton deuxième post me plait beaucoup. ;)

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

ah ok, alors au lieu du "start /w", tu fais "start" tout court, ca rend la main direct.

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Raa, Je T'aime Mon P'tit Coca25...

Voici le résultat:

Citation :

@echo off

:partie3
cls
TITLE %fix% - Personnalisation "partie 3"
color 1F
echo.
echo Installation Logiciel
echo.
echo 1) Installation Imtoo.
echo.
echo.
echo WScript.Sleep 2500 > %ProgFiles%\enter1.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "~" > %ProgFiles%\enter0.vbs
set /p menu= 1

if "%menu%"=="1" goto partie31

:partie31

start F:\Tybbow\Install\Logiciel\imtoo.exe
%ProgFiles%\enter1.vbs
%ProgFiles%\enter0.vbs

goto partie3



Cela fonctionne parfaitement. Merci encore pour votre aide!


Message édité par Tybbow le 06-07-2007 à 02:27:08
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

:jap:
remarque tu aurais pu le faire completement en vbs ;)

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Bah, comme je suis tout le temps sur mon projet, peut être que je partirais définitivement en vbs. Je ne sais pas de quoi est fait mon futur.
Au début, je suis parti de la commande "choice" pour effectuer mon projet, ensuite, j'ai appris de nouvelle chose avec le batch, et j'ai encore appris de nouvelle chose avec le vbs.

Et comme je suis encore loin d'avoir fini ^^

En Revanche, tu avais raison. C'est Fastidieux... Rien que pour l'installation automatique d'un logiciel avec un clef produit ( Vous inquiétez pas, légal ^^ ), il faut voir plusieurs Manip avec plusieurs code.

En plus, j'ai eu un problème avec une commande telle que:

echo WScript.CreateObject("WScript.Shell" ).SendKeys "%{TAB}" > %ProgFiles%\tabulation.vbs

Car dès que le MS-DOS remarque le % il y a un bug. Enfin, ce n'est pas très grave...


Merci encore! je vais pouvoir m'amuser ^^


Ps: Normalement mon script va me permettre d'améliorer la vitesse de réinstallation de Windows et tous les logiciels. Mais j'en ai pour pas mal de temps à créer mon script... Donc, je ne sais même pas si au final, je gagnerai du temps... ^^
Enfin, je m'amuse, c'est le principal. Merci!


Message édité par Tybbow le 06-07-2007 à 11:32:31
------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

tu doubles le % pour qu'il soit pris en compte

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Merci coca25.

Voici, comment j'ai procédé... Mon Programme peut sembler crade ^^

Citation :

@echo off

:partie3
cls
TITLE %fix% - Personnalisation "partie 3"
color 1F
echo.
echo Installation Logiciel
echo.
echo 1) Installation Partition Magic.
echo.
echo.
echo WScript.sleep 15000 > %ProgFiles%\sleep15000.vbs
echo WScript.sleep 30000 > %ProgFiles%\sleep30000.vbs
echo WScript.Sleep 2500 > %ProgFiles%\sleep2500.vbs
echo WScript.Sleep 500 > %ProgFiles%\sleep500.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "^C" > %ProgFiles%\copier.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "^a" > %ProgFiles%\selection.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "~" > %ProgFiles%\enter.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "^V" > %ProgFiles%\coll.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 10}" > %ProgFiles%\bas10.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 2}" > %ProgFiles%\bas2.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys " " > %ProgFiles%\espace.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "%%{TAB}" > %ProgFiles%\tab.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "{RIGHT 1}" > %ProgFiles%\droit.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 1}" > %ProgFiles%\bas1.vbs
echo WScript.CreateObject("WScript.Shell" ).SendKeys "%%{F4}" > %ProgFiles%\F4.vbs
echo PM800ENSP1-xxxxxxxx > %ProgFiles%\partition.txt
echo WScript.Sleep 20 > %ProgFiles%\sleep20.vbs

set /p menu= 1

if "%menu%"=="1" goto partie31

:partie31

start F:\Tybbow\Install\Logiciel\Partition\setup.exe
%ProgFiles%\sleep15000.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep500.vbs
start %ProgFiles%\partition.txt
%ProgFiles%\sleep500.vbs
%ProgFiles%\tab.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\selection.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\copier.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\F4.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\coll.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\bas2.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\bas10.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\espace.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep30000.vbs
%ProgFiles%\droit.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\espace.vbs
%ProgFiles%\bas1.vbs
%ProgFiles%\espace.vbs
%ProgFiles%\sleep20.vbs
%ProgFiles%\enter.vbs
%ProgFiles%\sleep500.vbs
%ProgFiles%\F4.vbs

del %ProgFiles%\sleep15000.vbs
del %ProgFiles%\sleep30000.vbs
del %ProgFiles%\sleep2500.vbs
del %ProgFiles%\sleep500.vbs
del %ProgFiles%\sleep20.vbs
del %ProgFiles%\partition.txt
del %ProgFiles%\copier.vbs
del %ProgFiles%\selection.vbs
del %ProgFiles%\enter.vbs
del %ProgFiles%\coll.vbs
del %ProgFiles%\bas10.vbs
del %ProgFiles%\bas1.vbs
del %ProgFiles%\bas2.vbs
del %ProgFiles%\droit.vbs
del %ProgFiles%\espace.vbs
del %ProgFiles%\tab.vbs
del %ProgFiles%\F4.vbs


exit

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

en tout cas, c'est pas très clair ;)
un exemple pour le tout en .vbs, tu en feras ce que tu veux par la suite:


function test_1
wscript.echo "reponse 1"
end function

 

function test_2
wscript.echo "reponse autre"
end function

 

dim wsh
set wsh = CreateObject("WScript.Shell" )

 

wsh.run ("F:\Tybbow\Install\Logiciel\Partition\setup.exe" )
wscript.sleep (15000)
wsh.sendkeys "~"
wscript.sleep (500)
' et ainsi de suite

 

' pour afficher du texte:
wscript.echo "texte"

 

' pour demander une reponse
reponse = inputbox ("votre réponse" )
if reponse = "1" then
test_1
else
test_2
end if

 

en plus ca évite d'avoir la fenetre noire :)


Message édité par coca25 le 06-07-2007 à 16:38:39
------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

color 1c

sa va éviter d'avoir la fenetre noire en la mettant bleu :P

Répondre à narrateur747

Code :
  1. @echo off
  2. :partie3
  3. cls
  4. TITLE %fix% - Personnalisation "partie 3"
  5. color 1F
  6. echo.
  7. echo                    Installation Logiciel
  8. echo.
  9. echo            1) Installation Partition Magic.
  10. echo.
  11. echo.
  12. echo WScript.sleep 15000 > %ProgFiles%\sleep15000.vbs
  13. echo WScript.sleep 30000 > %ProgFiles%\sleep30000.vbs
  14. echo WScript.Sleep 2500  > %ProgFiles%\sleep2500.vbs
  15. echo WScript.Sleep 500  > %ProgFiles%\sleep500.vbs
  16. echo WScript.CreateObject("WScript.Shell" ).SendKeys "^C" > %ProgFiles%\copier.vbs
  17. echo WScript.CreateObject("WScript.Shell" ).SendKeys "^a" > %ProgFiles%\selection.vbs
  18. echo WScript.CreateObject("WScript.Shell" ).SendKeys "~" > %ProgFiles%\enter.vbs
  19. echo WScript.CreateObject("WScript.Shell" ).SendKeys "^V" > %ProgFiles%\coll.vbs
  20. echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 10}" > %ProgFiles%\bas10.vbs
  21. echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 2}" > %ProgFiles%\bas2.vbs
  22. echo WScript.CreateObject("WScript.Shell" ).SendKeys " " > %ProgFiles%\espace.vbs
  23. echo WScript.CreateObject("WScript.Shell" ).SendKeys "%%{TAB}" > %ProgFiles%\tab.vbs
  24. echo WScript.CreateObject("WScript.Shell" ).SendKeys "{RIGHT 1}" > %ProgFiles%\droit.vbs
  25. echo WScript.CreateObject("WScript.Shell" ).SendKeys "{DOWN 1}" > %ProgFiles%\bas1.vbs
  26. echo WScript.CreateObject("WScript.Shell" ).SendKeys "%%{F4}" > %ProgFiles%\F4.vbs
  27. echo PM800ENSP1-xxxxxxxx > %ProgFiles%\partition.txt
  28. echo WScript.Sleep 20  > %ProgFiles%\sleep20.vbs
  29. set /p menu=    1
  30. if "%menu%"=="1"  goto partie31
  31. :partie31
  32. start F:\Tybbow\Install\Logiciel\Partition\setup.exe
  33. %ProgFiles%\sleep15000.vbs
  34. %ProgFiles%\enter.vbs
  35. %ProgFiles%\sleep500.vbs
  36. start %ProgFiles%\partition.txt
  37. %ProgFiles%\sleep500.vbs
  38. %ProgFiles%\tab.vbs
  39. %ProgFiles%\sleep20.vbs
  40. %ProgFiles%\selection.vbs
  41. %ProgFiles%\sleep20.vbs
  42. %ProgFiles%\copier.vbs
  43. %ProgFiles%\sleep20.vbs
  44. %ProgFiles%\F4.vbs
  45. %ProgFiles%\sleep20.vbs
  46. %ProgFiles%\coll.vbs
  47. %ProgFiles%\sleep20.vbs
  48. %ProgFiles%\enter.vbs
  49. %ProgFiles%\sleep20.vbs
  50. %ProgFiles%\enter.vbs
  51. %ProgFiles%\sleep20.vbs
  52. %ProgFiles%\enter.vbs
  53. %ProgFiles%\sleep20.vbs
  54. %ProgFiles%\bas2.vbs
  55. %ProgFiles%\enter.vbs
  56. %ProgFiles%\bas10.vbs
  57. %ProgFiles%\sleep20.vbs
  58. %ProgFiles%\espace.vbs
  59. %ProgFiles%\sleep20.vbs
  60. %ProgFiles%\enter.vbs
  61. %ProgFiles%\sleep20.vbs
  62. %ProgFiles%\enter.vbs
  63. %ProgFiles%\sleep30000.vbs
  64. %ProgFiles%\droit.vbs
  65. %ProgFiles%\sleep20.vbs
  66. %ProgFiles%\enter.vbs
  67. %ProgFiles%\espace.vbs
  68. %ProgFiles%\bas1.vbs
  69. %ProgFiles%\espace.vbs
  70. %ProgFiles%\sleep20.vbs
  71. %ProgFiles%\enter.vbs
  72. %ProgFiles%\sleep500.vbs
  73. %ProgFiles%\F4.vbs
  74. del %ProgFiles%\sleep15000.vbs
  75. del %ProgFiles%\sleep30000.vbs
  76. del %ProgFiles%\sleep2500.vbs
  77. del %ProgFiles%\sleep500.vbs
  78. del %ProgFiles%\sleep20.vbs
  79. del %ProgFiles%\partition.txt
  80. del %ProgFiles%\copier.vbs
  81. del %ProgFiles%\selection.vbs
  82. del %ProgFiles%\enter.vbs
  83. del %ProgFiles%\coll.vbs
  84. del %ProgFiles%\bas10.vbs
  85. del %ProgFiles%\bas1.vbs
  86. del %ProgFiles%\bas2.vbs
  87. del %ProgFiles%\droit.vbs
  88. del %ProgFiles%\espace.vbs
  89. del %ProgFiles%\tab.vbs
  90. del %ProgFiles%\F4.vbs
  91. exit



Cela semblera peut être plus clair loool.

Sinon, merci Coca25, mais malheureusement, je n'y connais vraiment rien en vbs, sauf les SendKeys ^^ Et comme maintenant, je n'ai vraiment plus grand chose à rajouter, car je peux faire fonctionner mon programme, je ne vais pas me lancer sur autre chose. :D
Peut être, après.

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow

:jap: c'est toi qui vois

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

au fait, j'ai oublié de te le dire tout à l'heure, la variable pour c:\program files, c'est:
%programfiles% et non %progfiles"

------------------------------ Ne pas oublier le [resolu] pour finir le sujet.
Penser à voir les tutos, ca peut aider!
Répondre à coca25

Ouaip, je sais... Mais je préfère utiliser %windir%\script

------------------------------ En Restaurant, le coeur de breizh
Répondre à Tybbow
Tom's Guide > Forum > Programmation > Fichier Batch. (Choice)
Aller à :

Il y a 250 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens