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
