Question sur un batch..

Résolu/Fermé
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 - 26 mai 2013 à 15:35
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 - 26 mai 2013 à 19:53
bonjours / bonsoir a tous et a toute

je me suis posée une question curieuse sur un "projet" batch que j'aimerais réaliser.

et'il possible de faire en sorte que lors de l'exécution une question du type:

quelle variable voulais vous enregistrée?

y inscrire une valeur X et que le batch le sauvegarde dans une autre partie du type liste:

les variable enregistrée sont:
X
XX
xXX etc etc ...

concrètement je veux que le batch enregistres c'est variable même après fermeture pour pouvoir les retrouver lors d'un menu en choisissent de revoir c'est variable ou dans entré de nouvelle.

j'esper avoir étais assez clair ^^"? merci d'avance pour vos réponse ^^

4 réponses

jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
Modifié par jee pee le 26/05/2013 à 15:51
Bonjour,

Ton "batch" il est programmé en quoi ?

Par définition un batch, programme d'arrière plan, ne pose pas de question puisque normalement aucun écran/clavier ne lui est associé.

Par contre lorsque l'on lance un batch, on peut lui passer des paramètres.

Après quand dans un traitement tu veux conserver des données pour plus tard, ces données tu les enregistres dans un fichier.

cdlt

Un étranger, c'est un ami qu'on n'a pas encore rencontré.
1
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 10
26 mai 2013 à 18:10
bonjour il est programmer en batch (?) ^^'
et je parle d'un menu a question tel que (exemple très basique..)

@echo off
echo quel est ton nom ?
set /p choix=

cls
echo %choix% quelle jolie nom !
pause>nul

voila un très simple batch qui se voix et pose une question a l'utilisateur..

maintenant ma question est, est 'il possible que lors d'une "question" la valeur entré soi enregistré a un endroit voulus du programme sou forme de liste
(donc dans le programme serrai inscrit)
...
echo liste de valeur entre:
echo %val1%
echo %val2%
echo %val3%
...

et on lirai lors de l'exécution du batch (si on sélectionne dans un menu basique le chois de les présenter.)

liste de valeur entre:
X
XX
XXX
...

sachant que les "XX" doive être remplacer par des valeur que j'orrais sélectionner a divers moment pendant l'exécution du batch pendant l'exécution du batch.

en gros est t'il possible qu'un batch se "mette a jour" pour ainsi dire seul et si ajouter des ligne de "commande" (si on peut dire) seul ?

(je c'est qu'il et possible de faire ce genre de batch en utilisant un fichier.txt joint et y faire appel mais ce n'est pas ma question ? x) )

et maintenant que j'y pense je c'est également qu'il et possible de joué des son dans un batch avec un "bel" il y a t'il d'autre son possible?
1
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
26 mai 2013 à 18:55
Donc c'est un script en mode ligne de commandes Windows ;-)

Parce qu'un batch ce pourrait être :
- un programme C sous Unix lancé via sh
- un programme Cobol sous MVS lancé par JCL
- ...

Je n'ai toujours pas bien saisi ce que tu veux faire.

Mais dans un script il est possible de générer un autre script puis de lancer ledit script que l'on vient de générer.

Par exmple P1.CMD =

rem on créé le script P2

echo echo liste de valeur entre: >p2.cmd
echo echo X1 >>p2.cmd
echo echo X2 >>p2.cmd	
echo echo X3 >>p2.cmd

rem et plus loin on appelle le script P2

call p2.cmd

set /p choix= 

echo fin



1
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 10
26 mai 2013 à 19:20
vue comme sa effectivement x)

mais non sa ne répond pas a ma question x)

enfaîte je désir savoir si il et possible en répondant basiquement a une question de batch si il pouvais lui même créer a l'intérieur de sa programmation dans un endroit spécifier une nouvelle ligne de style:
..
echo XXX
(a la suite d'autre ligne existante et qui se créerons après)
...

dans une boucle bien spécifier pour que quand je décide sur mon "menu" d'aller a liste je voie c'est ligne "echo" et si je vais (dans mon menu) a "ajoutez" (par exemple) je rentre une nouvelle variable qu'y s'ajoute en bas (ou en haut peu d'importance) de ma liste
0
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
26 mai 2013 à 19:24
Je trouve toujours ma réponse ci-dessus valable, tu mets ta ligne supplémentaire dans un second fichier de commande que tu appelles par call.
0
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 10
26 mai 2013 à 19:33
je ne souhaite pas appeler de fichier justement (sinon j'utilise simplement un fichier.txt sans problème x) )

je souhaite savoir si le batch peu se rajouter des ligne echo seul en n'utilisent justement qu'un seul batch x) comprend tu ?
0
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
26 mai 2013 à 19:37
Pour moi non, il faut que tu mettes les réponses dans des variables (v1, V2, ...V20), le max de réponses prévues, et que avant de faire l'echo tu testes si la variable est vide ou pas.
0
zephir666 Messages postés 108 Date d'inscription dimanche 26 mai 2013 Statut Membre Dernière intervention 23 décembre 2021 10
26 mai 2013 à 19:44
ok je voie ..

merci beaucoup pour ta patience et ton aide :) !

puis-je me permettre (rien a voir mdr) de te demander pour les son en batch de type "BEL" en existe t'il plusieurs ? et comment les écrire?
0
jee pee Messages postés 39718 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 14 mai 2024 9 272
26 mai 2013 à 19:51
il y a cela :

rundll32 user32.dll,MessageBeep -1

avec peut être d'autres valeurs possibles mais je ne connais pas
0