Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Maurette
"Help !" a écrit:
Bonjour,
Quel est l'équivalence sous Windows xp de la commande dos "choice" fonctionnant sous Windows 98 ? "CHOICE" dans l'aide de XP amène effectivement à "Nouvelles façons
d'effectuer des tâches courantes" et en face de "choice": "Non pris en charge actuellement." Essayez à tout hasard de copier un choice.exe d'une distrib 98 vers votre répertoire [XP]:WINDOWSsystem32 Sinon il vous faudra vous orienter vers d'autres langages de scripts, comme celui de XP que je ne connais pas. -- Pierre
"Help !" <pas-de-spam@merci.fr> a écrit:
Bonjour,
Quel est l'équivalence sous Windows xp de la commande dos "choice"
fonctionnant sous Windows 98 ?
"CHOICE" dans l'aide de XP amène effectivement à "Nouvelles façons
d'effectuer des tâches courantes" et en face de "choice": "Non pris en
charge actuellement."
Essayez à tout hasard de copier un choice.exe d'une distrib 98 vers
votre répertoire [XP]:WINDOWSsystem32
Sinon il vous faudra vous orienter vers d'autres langages de scripts,
comme celui de XP que je ne connais pas.
--
Pierre
Quel est l'équivalence sous Windows xp de la commande dos "choice" fonctionnant sous Windows 98 ? "CHOICE" dans l'aide de XP amène effectivement à "Nouvelles façons
d'effectuer des tâches courantes" et en face de "choice": "Non pris en charge actuellement." Essayez à tout hasard de copier un choice.exe d'une distrib 98 vers votre répertoire [XP]:WINDOWSsystem32 Sinon il vous faudra vous orienter vers d'autres langages de scripts, comme celui de XP que je ne connais pas. -- Pierre
Jean-Claude BELLAMY
Dans le message news:cmfhvh$kvh$ , Help ! s'est ainsi exprimé:
Bonjour,
Quel est l'équivalence sous Windows xp de la commande dos "choice" fonctionnant sous Windows 98 ?
Elle n'existe pas (encore qu'on peut exécuter un choice.com de Win9x sous XP) Mais il existe nativement sous XP (et W2k ...) BEAUCOUP mieux que "choice" ! Sans aucun logicel extérieur, script ou quoi que ce soit d'autre !
Cela s'obtient à l'aide de la commande SET, suivie : - du commutateur "/P" (P pour "prompt") - du nom de la variable concernée - du signe = (égal) - d'une invite quelconque
Exemple : ... SET /P ma_variable=Veuillez taper quelque chose : ...
Ce qui se traduira à l'écran par : c:>Veuillez taper quelque chose :
et si l'utilisateur tape "Hello World!"
la variable "%ma_variable% contiendra "Hello World!"
Exemple comparatif -------------------
1) Ancien batch Windows 98 faisant appel à "choice" (repris à un utilisateur qui avait posé la même question de passage Win98->XP)
@echo off :menu echo ceci est un test echo 1.transfert echo 2.winzip echo 3.Quitter choice /c:123 /t:3,60 /n Entrez un choix if errorlevel 3 goto :fin if errorlevel 2 goto :winzip if errorlevel 1 goto :transfert :transfert DosFtpFile.bat goto :menu :winzip winzip_epc.bat goto :fin :fin exit
Dans cet exemple, on a un chiffre à taper, car "choice" n'accepte qu'UN SEUL CARACTÈRE .
2) Le même batch transposé sous XP : @echo off :menu echo ceci est un test echo 1.transfert echo 2.winzip echo 3.Quitter set /P choix=Entrez un choix for %%R in (1 2 3) do if "%%R"=="%choix%" goto label%%R echo choix invalide goto menu :label1 DosFtpFile.bat goto menu :label2 winzip_epc.bat goto fin :label3 :fin exit
Mais la commande set /P permet de saisir n'importe quoi d'autre, en particulier des CHAINES ENTIÈRES :
echo transfert echo winzip echo Quitter set /P choix=Entrez votre commande for %%R in (transfert winzip Quitter) do if /i "%%R"=="%choix%" goto %%R :transfert .... :winzip .... :quitter .... NB: Le commutateur "/i" dans la commande IF permet de s'affranchir de la casse (taper "transfert" ou "TRANSfeRt" donnera la même chose)
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *
Dans le message news:cmfhvh$kvh$1@s5.feed.news.oleane.net ,
Help ! <pas-de-spam@merci.fr> s'est ainsi exprimé:
Bonjour,
Quel est l'équivalence sous Windows xp de la commande dos "choice"
fonctionnant sous Windows 98 ?
Elle n'existe pas (encore qu'on peut exécuter un choice.com de Win9x sous
XP)
Mais il existe nativement sous XP (et W2k ...) BEAUCOUP mieux que "choice" !
Sans aucun logicel extérieur, script ou quoi que ce soit d'autre !
Cela s'obtient à l'aide de la commande SET, suivie :
- du commutateur "/P" (P pour "prompt")
- du nom de la variable concernée
- du signe = (égal)
- d'une invite quelconque
Exemple :
...
SET /P ma_variable=Veuillez taper quelque chose :
...
Ce qui se traduira à l'écran par :
c:>Veuillez taper quelque chose :
et si l'utilisateur tape "Hello World!"
la variable "%ma_variable% contiendra "Hello World!"
Exemple comparatif
-------------------
1) Ancien batch Windows 98 faisant appel à "choice"
(repris à un utilisateur qui avait posé la même question de passage
Win98->XP)
@echo off
:menu
echo ceci est un test
echo 1.transfert
echo 2.winzip
echo 3.Quitter
choice /c:123 /t:3,60 /n Entrez un choix
if errorlevel 3 goto :fin
if errorlevel 2 goto :winzip
if errorlevel 1 goto :transfert
:transfert
DosFtpFile.bat
goto :menu
:winzip
winzip_epc.bat
goto :fin
:fin
exit
Dans cet exemple, on a un chiffre à taper, car "choice" n'accepte qu'UN SEUL
CARACTÈRE .
2) Le même batch transposé sous XP :
@echo off
:menu
echo ceci est un test
echo 1.transfert
echo 2.winzip
echo 3.Quitter
set /P choix=Entrez un choix
for %%R in (1 2 3) do if "%%R"=="%choix%" goto label%%R
echo choix invalide
goto menu
:label1
DosFtpFile.bat
goto menu
:label2
winzip_epc.bat
goto fin
:label3
:fin
exit
Mais la commande set /P permet de saisir n'importe quoi d'autre, en
particulier des CHAINES ENTIÈRES :
echo transfert
echo winzip
echo Quitter
set /P choix=Entrez votre commande
for %%R in (transfert winzip Quitter) do if /i "%%R"=="%choix%" goto %%R
:transfert ....
:winzip ....
:quitter
....
NB: Le commutateur "/i" dans la commande IF permet de s'affranchir de la
casse
(taper "transfert" ou "TRANSfeRt" donnera la même chose)
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
http://www.bellamyjc.org Jean-Claude.Bellamy@wanadoo.fr *
JC.Bellamy@free.fr
Dans le message news:cmfhvh$kvh$ , Help ! s'est ainsi exprimé:
Bonjour,
Quel est l'équivalence sous Windows xp de la commande dos "choice" fonctionnant sous Windows 98 ?
Elle n'existe pas (encore qu'on peut exécuter un choice.com de Win9x sous XP) Mais il existe nativement sous XP (et W2k ...) BEAUCOUP mieux que "choice" ! Sans aucun logicel extérieur, script ou quoi que ce soit d'autre !
Cela s'obtient à l'aide de la commande SET, suivie : - du commutateur "/P" (P pour "prompt") - du nom de la variable concernée - du signe = (égal) - d'une invite quelconque
Exemple : ... SET /P ma_variable=Veuillez taper quelque chose : ...
Ce qui se traduira à l'écran par : c:>Veuillez taper quelque chose :
et si l'utilisateur tape "Hello World!"
la variable "%ma_variable% contiendra "Hello World!"
Exemple comparatif -------------------
1) Ancien batch Windows 98 faisant appel à "choice" (repris à un utilisateur qui avait posé la même question de passage Win98->XP)
@echo off :menu echo ceci est un test echo 1.transfert echo 2.winzip echo 3.Quitter choice /c:123 /t:3,60 /n Entrez un choix if errorlevel 3 goto :fin if errorlevel 2 goto :winzip if errorlevel 1 goto :transfert :transfert DosFtpFile.bat goto :menu :winzip winzip_epc.bat goto :fin :fin exit
Dans cet exemple, on a un chiffre à taper, car "choice" n'accepte qu'UN SEUL CARACTÈRE .
2) Le même batch transposé sous XP : @echo off :menu echo ceci est un test echo 1.transfert echo 2.winzip echo 3.Quitter set /P choix=Entrez un choix for %%R in (1 2 3) do if "%%R"=="%choix%" goto label%%R echo choix invalide goto menu :label1 DosFtpFile.bat goto menu :label2 winzip_epc.bat goto fin :label3 :fin exit
Mais la commande set /P permet de saisir n'importe quoi d'autre, en particulier des CHAINES ENTIÈRES :
echo transfert echo winzip echo Quitter set /P choix=Entrez votre commande for %%R in (transfert winzip Quitter) do if /i "%%R"=="%choix%" goto %%R :transfert .... :winzip .... :quitter .... NB: Le commutateur "/i" dans la commande IF permet de s'affranchir de la casse (taper "transfert" ou "TRANSfeRt" donnera la même chose)
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org http://www.bellamyjc.org *