OVH Cloud OVH Cloud

comment permettre la saisie d'un paramettre dans un script batch ?

5 réponses
Avatar
Nicolas ROBERT
Bonjour,

je développe un script batch (DOS).
Dans cette optique, j'aimerais permettre à l'utilisateur qui le lance, de
pouvoir saisir une valeur que je pourrais controler et exploiter.

"
@echo off
echo Saisir le nombre:

<la fonction que je ne connais pas> nombre

if nombre =="truc" goto ailleurs

:ailleurs
...etc "

Quelqu'un aurait-il une idée ?
D'avance, merci

Cdt
nicolas R.

5 réponses

Avatar
castorix
"Nicolas ROBERT" wrote in message news:<417df56b$0$3830$...

je développe un script batch (DOS).
Dans cette optique, j'aimerais permettre à l'utilisateur qui le lance, de
pouvoir saisir une valeur que je pourrais controler et exploiter.



Dépend de l'OS.

http://www.robvanderwoude.com/index.html
Avatar
Patrick 'Zener' Brunet
Bonsoir.

"Nicolas ROBERT" a écrit dans le
message de news: 417df56b$0$3830$
Bonjour,

je développe un script batch (DOS).
Dans cette optique, j'aimerais permettre à l'utilisateur qui le lance, de
pouvoir saisir une valeur que je pourrais controler et exploiter.

"
@echo off
echo Saisir le nombre:

<la fonction que je ne connais pas> nombre

if nombre =="truc" goto ailleurs

:ailleurs
...etc "

Quelqu'un aurait-il une idée ?
D'avance, merci




Le langage n'est pas très sympa de ce point de vue.
La technique classique à l'époque consistait à utiliser un petit programme
en .COM qui rendait la valeur dans son status de retour (donc un nombre
entier).
La valeur se retrouve alors disponible (jusqu'à écrasement) dans la variable
ERRORLEVEL.

Ensuite pour tester ça en général on utilisait plutôt une structure
éliminatoire en "supérieur ou égal" successifs.

Ca donne un truc du genre:

@echo off
@echo Saisir le nombre
getvalue.com
if %errorlevel% 10 goto plusde10
if %errorlevel% 5 goto entre5et10
etc.

Reste à trouver ou à écrire le getvalue.com (ça doit se trouver sur le web).

Cordialement,
PZB
Avatar
Pierre Maurette
"Nicolas ROBERT" a écrit:

Bonjour,

je développe un script batch (DOS).
Dans cette optique, j'aimerais permettre à l'utilisateur qui le lance, de
pouvoir saisir une valeur que je pourrais controler et exploiter.

"
@echo off
echo Saisir le nombre:

<la fonction que je ne connais pas> nombre

if nombre =="truc" goto ailleurs

:ailleurs
...etc "

Quelqu'un aurait-il une idée ?
D'avance, merci


Salut,
Il vous faut un bouquin (un peu ancien éventuellement) ou une aide
MS-DOS. Google devrait vous aider, voyez déjà ça:

http://www.nukesoft.co.uk/msdos/

Si vous n'aimez pas l'anglais, Google, ou alors:
http://www.berlitz.com/
http://www.e-anglais.com/index.php
http://www.toutapprendre.com/assimil_index.asp
http://www.assimil.com/
;-)

L'aide de votre Windows doit le faire (commandes batch dans l'aide de
XP), mais je crains que ce soit noyé dans des choses plus récentes (et
plus efficaces).
Pour terminer, voici un fichier autoexec.bat qui fait ce que vous
souhaitez (c'est la commande choice). Avec ça et le lien vous devriez
pouvoir avancer.

<autoexec.bat>
mode con codepage prepare=((850) C:WINDOWSCOMMANDega.cpi)
mode con codepage select…0
keyb fr,,C:WINDOWSCOMMANDkeyboard.sys

REM Début des options de boot ------------------------

set Winice1="Charger SoftIce"
set Winice2="Pas de SoftIce aujourd'hui"
echo *********************************************
echo Softice Loader - Numega Inc
echo *********************************************
echo Spécifier si vous souhaitez utiliser Softice
echo.
echo Taper 1 for %Winice1%
echo or
echo Tapez 2 for %Winice2%
echo.
choice /c:12 /T:2,20 Choisir une option
if errorlevel 2 goto NoLo
if errorlevel 1 goto Lo
:Lo
C:PROGRA~1NUMEGASOFTIC~1WINICE.EXE
goto end
:NoLo
echo.
echo SoftIce ne sera pas chargé.
:end

REM Fin des options de boot ------------------------
</autoexec.bat>

Bon courage
--
Pierre
Avatar
Frédéric Lachasse
"Nicolas ROBERT" wrote in message
news:417df56b$0$3830$
Bonjour,

je développe un script batch (DOS).
Dans cette optique, j'aimerais permettre à l'utilisateur qui le lance, de
pouvoir saisir une valeur que je pourrais controler et exploiter.

"
@echo off
echo Saisir le nombre:

<la fonction que je ne connais pas> nombre

if nombre =="truc" goto ailleurs

:ailleurs
...etc "



Sous XP, tu peux utiliser:
SET /P var=prompt string

Je ne sais pas si c'est disponible avec Windows 2000. Cela ne marche pas
sous Win95/98/Me...

--
Frédéric Lachasse - ECP86
Avatar
Cyrille SZYMANSKI
On 2004-10-26, Patrick 'Zener' Brunet wrote:
@echo off
@echo Saisir le nombre
getvalue.com
if %errorlevel% 10 goto plusde10
if %errorlevel% 5 goto entre5et10
etc.

Reste à trouver ou à écrire le getvalue.com (ça doit se trouver sur le web).



Comme choice.com de MSDOS 6 par exemple.

--
cns