Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
C'est sert a quoi les "!!" ?
Auteur Message
Répondre en citant
Message C'est sert a quoi les "!!" ? 
Bonjour Smile

Hum voila ,enfaite j'ai un prob,ca sert a quoi les variable avec des points d'exclamation et c'est quoi la différence entre les "%%" et le "!!" ?
Merci de me repondre, car je ne trouve pas sur internet ca sert a quoi Sad

Cordialement Fokker974 Very Happy




______________________________________________________
Fokker974 - The batcher
Visiter le site web du posteur Skype
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message C'est sert a quoi les "!!" ? 
Salut,
deux utilisations possibles :

- Mettre une variable dans une variable
Par exemple t'as plusieurs variables du genre
Code:
%variable1%
%variable2%
%variable3%
%variable4%

Pour afficher une de ces variables tu peux faire :
Code:
setlocal enabledelayedexpansion enableextensions
:: je veux afficher %variable3% donc je fais : 
set nbVariable=3
echo !variable%nbVariable%!

Vu comme ça, ça sert à rien car on peut direct mettre "%variable3%" mais ça sert avant tout à optimiser avec for :
au lieu de faire
Code:
%variable1%
%variable2%
%variable3%
%variable4%

on peut faire
Code:
for /L %%A in (1,1,4) do echo !variable%%A!


- utiliser des variables dans for
Ce code ne fonctionnera pas :
Code:
for %%A in (1,2,3,4,5) do (
set variable=%%A
set /a total=%variable%+%total%
echo %total%
)

Mais ce code là fonctionnera :
Code:
for %%A in (1,2,3,4,5) do (
set variable=%%A
set /a total=!variable!+!total!
echo !total!
)



Dans tous les cas avant de pouvoir utiliser !variable! if faut mettre ça en début de code :
Code:
setlocal enabledelayedexpansion enableextensions




Dernière édition par Hugo7 le Lun 5 Déc 2016 - 20:44; édité 1 fois

______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message C'est sert a quoi les "!!" ? 
Bonjour,
De mémoire, :
Code:

@echo off
SetLocal EnableDelayedExpansion EnableExtensions
set compteur=0
::affiche tout les dossier présents dans le répertoire en cours et un compteur
echo dossiers présents dans le répertoire en cours :
echo.
for /D %%A in (*) do (
set /a compteur+=1
echo dossier !compteur! : %%A)
echo.
pause
::liste de personnes les plus actives de ce forum
cls
set test1=Fokker974
set test2=Tsnake
set test3=Logan T
set test4=Xenoxis
set test5=Hugo7
set /p "choix=choisissez un nombre entre 1 et 5 : "
echo.
echo Vous avez choisi le nombre %choix%
echo Ce qui veut dire que votre meilleur ami est : !test%choix%!
echo.
pause>nul


Dans les boucles for,on ne peut pas mettre de variables : on doit les remplacer par !!

et dans l'exemple suivant, je ne sais pas vraiment comment expliquer : regarde le code source.

EDIT: j'étais en train de taper le texte mais on dirais que j'ai pris un peu de temps : Hugo7 à posté plus vite que moi Sad ...



Dernière édition par logan T le Jeu 21 Juil 2016 - 13:05; édité 1 fois

______________________________________________________
Compte inactif à partir de décembre 2016.
Ancien site
Nouveau site et site en contruction
Nombre de vues du profil :
Visiter le site web du posteur Skype
Répondre en citant
Message C'est sert a quoi les "!!" ? 
Hugo7 a écrit:
Salut,
deux utilisations possibles :

- Mettre une variable dans une variable
Par exemple t'as plusieurs variables du genre
Code:
%variable1%
%variable2%
%variable3%
%variable4%

Pour afficher une de ces variables tu peux faire :
Code:
:: je veux afficher %variable3% donc je fais : 
set nbVariable=3
echo !variable%nbVariable%!

Vu comme ça, ça sert à rien car on peut direct mettre "%variable3%" mais ça sert avant tout à optimiser avec for :
au lieu de faire
Code:
%variable1%
%variable2%
%variable3%
%variable4%

on peut faire
Code:
for /L %%A in (1,1,4) do echo !variable%%A!


- utiliser des variables dans for
Ce code ne fonctionnera pas :
Code:
for %%A in (1,2,3,4,5) do (
set variable=%%A
set /a total=%variable%+%total%
echo %total%
)

Mais ce code là fonctionnera :
Code:
for %%A in (1,2,3,4,5) do (
set variable=%%A
set /a total=!variable!+!total!
echo !total!
)



Dans tous les cas avant de pouvoir utiliser !variable! if faut mettre ça en début de code :
Code:
setlocal enabledelayedexpansion enableextensions


Ah merci beaucoup je comprend mieux Smile




______________________________________________________
Fokker974 - The batcher
Visiter le site web du posteur Skype
Répondre en citant
Message C'est sert a quoi les "!!" ? 
logan T a écrit:
Bonjour,
De mémoire, :
Code:

@echo off
SetLocal EnableDelayedExpansion EnableExtensions
set compteur=0
::affiche tout les dossier présents dans le répertoire en cours et un compteur
echo dossiers présents dans le répertoire en cours :
echo.
for /D %%A in (*) do (
set /a compteur+=1
echo dossier !compteur! : %%A)
echo.
pause
::liste de personnes les plus actives de ce forum
cls
set test1=Fokker974
set test2=Tsnake
set test3=Logan T
set test4=Xenoxis
set test5=Hugo7
set /p "choix=choisissez un nombre entre 1 et 5 : "
echo.
echo Vous avez choisi le nombre %choix%
echo Ce qui veut dire que votre meilleur ami est : !test%choix%!
echo.
pause>nul


Dans les boucles for,on ne peut pas mettre de variables : on doit les remplacer par !!

et dans l'exemple suivant, je ne sais pas vraiment comment expliquer : regarde le code source.

EDIT: j'étais en train de taper le texte mais on dirais que j'ai pris un peu de temps : Hugo7 à posté plus vite que moi Sad ...


Merci beaucoup également je comprend mieux Smile




______________________________________________________
Fokker974 - The batcher
Visiter le site web du posteur Skype
Message C'est sert a quoi les "!!" ? 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch