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
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

______________________________________________________
LT-S Batch explorer :Un explorateur en Batch
ConsoleINI : utilisez des fichiers INI dans vos Batch
Epileptic : un mini jeu de rapidité
Faites parler votre téléphone avec mon app android
Mon site pour voir tout mes autres programmes
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
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
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