fichier batch pour l'expansion / f
-
20-09-2019 - |
Question
J'ai un fichier (directories.txt
) avec des noms de répertoire, chacun sur une seule ligne et j'aime étendre la ligne
C:\Documents and Settings\%USERNAME%\My Documents
Dans mon script au nom de l'utilisateur exécutant le script. Cependant l'écho est exactement la même que la ligne et %USERNAME%
ne se développe pas.
FOR /f "tokens=*" %%X IN (directories.txt) DO (
ECHO %%X
)
L'écho montre "C: \ Documents and Settings \% USERNAME% \ Mes documents" au lieu de C: \ Documents and Settings \ janco \ Mes documents
Toutes les idées?
La solution
J'ai réussi à le faire en utilisant la substitution de variable:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%X IN (directories.txt) DO (
SET DIR=%%X
ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow