[Résolu] [Batch] Pourquoi ma variable ne s'affiche pas
jeudi 19 mars 2015 à 16:11Shaarli | Orangina Rouge 19/03/2015
Et oui, le fameux problème de "L'expansion retardée de variables d'environnement"
Au lieu de ça :
----------------------------------------
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo %c%
echo %%a
)
----------------------------------------
On doit plutôt mettre ça :
----------------------------------------
@echo off
setlocal enableDelayedExpansion
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo !c!
echo %%a
)
----------------------------------------
Et ça marche très bien.
(Permalink)
Links Lounge 20/03/2015
Ah oui. MS-DOS.
Quand j'ai découvert "L'expansion retardée de variables d'environnement" (que c'est bien dit ;-D), c'est l'une des rares fois où j'ai douté de ma compréhension. C'est un peu foufou cette histoire.
(Permalink)
Et oui, le fameux problème de "L'expansion retardée de variables d'environnement"
Au lieu de ça :
----------------------------------------
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo %c%
echo %%a
)
----------------------------------------
On doit plutôt mettre ça :
----------------------------------------
@echo off
setlocal enableDelayedExpansion
dir /B /S %RepToRead% > %FileName%
for /f "tokens=*" %%a in ('type %FileName%') do (
set c=%%a
echo !c!
echo %%a
)
----------------------------------------
Et ça marche très bien.
(Permalink)
Links Lounge 20/03/2015
Ah oui. MS-DOS.
Quand j'ai découvert "L'expansion retardée de variables d'environnement" (que c'est bien dit ;-D), c'est l'une des rares fois où j'ai douté de ma compréhension. C'est un peu foufou cette histoire.
(Permalink)