Les variables dans un batch
Pour accéder à une valeur d'une variable de variable, il y a 3 solution possible MAIS on doit utiliser obligatoirement “setlocal enableDelayedExpansion”
Example:
@echo off cls setlocal enableDelayedExpansion set PC1=maVariabale1 set PC2=maVariabale2 REM méthode 1: construction de la variable dynamiquement for /F "tokens=1,* delims=-" %%a IN ('hostname') do ( if "%%b"=="" exit 1 set var=!%%b! ) if "%var%"=="" set var=pasDeVariable echo %var% REM méthode 2 : construction de la variable depuis une liste for %%a IN (1 2 3) do ( set var=!PC%%a! echo var=!var! if "%var%"=="" echo Pas de variable ) if "%var%"=="" set var=pasDeVariable echo %var% REM méthode 3: construction de la variable manuellement set i=1 set var=!PC%i%! echo %var% pause
Bonus:
variables non documentés: https://ss64.com/nt/syntax-variables.html
Dernière modification : le 2024/04/03