archivo por lotes para la expansión / f
-
20-09-2019 - |
Pregunta
Tengo un archivo (directories.txt
) con los nombres de directorio, cada uno en una sola línea y me gustaría ampliar la línea
C:\Documents and Settings\%USERNAME%\My Documents
En mi script para el nombre real del usuario que ejecuta el script. Sin embargo el eco sale exactamente igual que la línea y %USERNAME%
no se expande.
FOR /f "tokens=*" %%X IN (directories.txt) DO (
ECHO %%X
)
El eco muestra "C: \ Documents and Settings \% USERNAME% \ Mis documentos" en lugar de C: \ Documents and Settings \ janco \ Mis documentos
¿Alguna idea?
Solución
Me las he arreglado para hacer esto utilizando la sustitución de variables:
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /f "tokens=*" %%X IN (directories.txt) DO (
SET DIR=%%X
ECHO !DIR:%%USERNAME%%=%USERNAME%!
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow