Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5610 connectés 

 


Dernière réponse
Sujet : Utilisation de variable en MS-DOS ?
Gaellick Merci à tous !

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Gaellick Merci à tous !
*syl*

gaellick a écrit a écrit :

Merci,
 
Allez une derniere et je vous laisse tranquille.
 
Quel est la signification de @echo off ?
 
Je trouve ce bout de code tres frequemment egalement.  




tu le mets 1 fois au début de ton BAT et ensuite t'as plus besoin de mettre des @ devant chaque ligne pour cacher le "code"

Gaellick Merci,
 
Allez une derniere et je vous laisse tranquille.
 
Quel est la signification de @echo off ?
 
Je trouve ce bout de code tres frequemment egalement.
*syl*

gaellick a écrit a écrit :

Super les gars, je n'attendais pas autant de bon conseils  :love:  
 
Une autre question me turlupine et m'est revenu a l'esprit apres le message de nstantdharma :

Citation :


Accessoirement, le @ en début de ligne inhibe l'afficage de la commande lancée par le bat, pou faire propre une fois que ça tourne...


 
On voit souvent des fichiers batchs commencer par :  
 
@echo
 
Pour quelle raison, et à quoi sert le @ ici.
Qu'entends tu par inhiber l'affichage ?
Parfois je vois également un point "." après echo.  
Pourquoi ?  
 
 




le @ permet de ne pas voir la commande qui est en train d'être exécutée :
 
ex1 : @echo toto
sortie ==> toto
 
ex2 : echo toto
sortie ==> echo toto
           toto
 
le echo. permet d'afficher une ligne blanche..

Gaellick Super les gars, je n'attendais pas autant de bon conseils  :love:  
 
Une autre question me turlupine et m'est revenu a l'esprit apres le message de nstantdharma :

Citation :


Accessoirement, le @ en début de ligne inhibe l'afficage de la commande lancée par le bat, pou faire propre une fois que ça tourne...


 
On voit souvent des fichiers batchs commencer par :  
 
@echo
 
Pour quelle raison, et à quoi sert le @ ici.
Qu'entends tu par inhiber l'affichage ?
Parfois je vois également un point "." après echo.  
Pourquoi ?

 

[edtdd]--Message édité par gaellick--[/edtdd]

JPA -> instantdharma :lol:
 
-> gaellick : J'ai oublié de te donner 2 conseils :
1) Faire en sorte que les variables que tu crée aient un nom différent des variables d'environnement standard. pour celà le mieux est de les créer de la forme _toto ou __toto.
2) en fin de batch, il vaut mieux les supprimer car elles ne sont pas supprimées automatiquement et celà t'occupe de la mémoire inutilement, ce qui pourrait t'empêcher de créer d'autres variables dans d'autres batch :
 
:fin
set _toto=
set _toto2=
etc.
 
A+
instantdharma JPA>On sent le vieux briscard ms-dossien :D
Les guillemets : à utiliser pour les noms de fichiers dits "longs", cad qui ne respectent pas le format ms-dos.
Atention, les guillemets n'ont pas d'impact comme dans un langage de programmation : toutes les occurences d'une variable sont remplacées par leur valeur, qu'il y ait des guillemets ou pas :
set mavar=coucou
echo %mavar% /* affiche coucou */
echo "%mavar%" /* affiche "coucou" */
Accessoirement, le @ en début de ligne inhibe l'afficage de la commande lancée par le bat, pou faire propre une fois que ça tourne...
youdontcare

gaellick a écrit a écrit :

Merci beaucoup pour vos réponses.
 
Si j'ai bien compris, %1 reprend la valeur du premier parametre passer derriere l'appelle d'un fichier .bat et %2 le second etc...
Par contre j'ai déjà vu dans des batchs les variables entourées de guillemets ex : "%ma_variable%". A quoi servent-elles ?  



sûrement pour les noms de fichiers. si tu as un fichier avec un espace, faire
 
copy my file.txt backup.txt
 
ne marchera pas. il faut utiliser :
 
copy "my file.txt" backup.txt
 
...

Gaellick Merci beaucoup pour vos réponses.
 
Si j'ai bien compris, %1 reprend la valeur du premier parametre passer derriere l'appelle d'un fichier .bat et %2 le second etc...
Par contre j'ai déjà vu dans des batchs les variables entourées de guillemets ex : "%ma_variable%". A quoi servent-elles ?
antp mille excuses, tu as raison
:jap:
je crois que je devrais suivre une formation MS-DOS, depuis que j'ai Win98 (et maintenant Win2k) je n'y touche plus... et j'oublie mes origines (DOS 4 + Win3.0, DOS 6 + Win3.1).
JPA désolé de te contredire antp (pour une fois) :
set toto=xxx et
set toto= xxx
de même avec set toto =
ne donnent pas le même résultat :
set toto = crée une variable toto_    le _ signifie ici l'espace
set toto= xxx crée une variable toto valant _xxx
 
C'est un des bugs les plus classiques des progrs batch...
 
tu peux le vérifier en essayant de supprimer une variable toto_ par la commande set toto=  : celà ne marche pas, la variable existe toujours.
 
 
A+

 

[edtdd]--Message édité par JPA--[/edtdd]

antp pour le SET, ça marche bien avec des espaces il me semble...
 
set variable = 45
 
passage de variable:
 
call autre.bat %variable%
 
récupération et affichage dans autre.bat:
 
echo %1
instantdharma salut
Les Variables : un nom de variable est une chaîne de caractères. On affecte une valeur à la variable avec la commande set ; on désigne le contenu de la variable en entourant le nom de la variable de % :
Set mavar= « c:\windows » /* sans espaces autour du signe égale */
Echo %mavar% /* affiche le contenu de la variable mavar. */
 
Les paramètres :
Paramètres formels : %0 à %9. Ils sont remplacés par leur valeur à l’exécution. %0 est un paramètre spécial qui désigne le nom complet de la procédure. %1 est le nom du premier para qui suit le nom du fichier de commandes, etc, etc...
Gaellick Salut à tous,
 
Je voudrai qques explquations sur l'utilisation des variables en MS-DOS. Le peu que j'ai compris pour l'instant c'est quelles sont entourées du signe pourcentage (genre : %MA_VARIABLE%), mais je ne sais pas comment on fait pour leur affecter une valeur, ni comment les passer en parametre a un autre fichier ".bat" que celui que l'on est en train d'utiliser.
 
Je vous remercie d'avance pour votre aide.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)