intentando hacer un script .bat, y es necesario que algunas cadenas funcionen correctamente.Cmd: no se evalúan las variables dentro de un bucle
Esto es lo que tengo hasta ahora
@echo off
for /r %%i in (*.csv) do (
set str=%%i
set str=%str:csv=rar%
echo %%i
echo.%str%
)
Di Tengo esta ejecución en C: \, y tengo 5 csv, 1.csv, 2.csv ... 5.csv
primera vez que corro, me sale la producción de:
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
La segunda vez que me sale:
C:\1.csv
csv=rar
C:\2.csv
csv=rar
C:\3.csv
csv=rar
C:\4.csv
csv=rar
C:\5.csv
A continuación, todas las llamadas posteriores me sale:
C:\1.csv
rar=rar
C:\2.csv
rar=rar
C:\3.csv
rar=rar
C:\4.csv
rar=rar
C:\5.csv
Cuando lo que estaría esperando a conseguir es directamente a través de:
C:\1.csv
C:\1.rar
C:\2.csv
C:\2.rar
C:\3.csv
C:\3.rar
C:\4.csv
C:\4.rar
C:\5.csv
C:\5.rar
Así elimino la sustitución:
@echo off
for /r %%i in (*.csv) do (
echo %%i
set str=%%i
echo.%str%
)
Primera corrida :
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
segunda pasada:
C:\1.csv
C:\5.csv
C:\2.csv
C:\5.csv
C:\3.csv
C:\5.csv
C:\4.csv
C:\5.csv
C:\5.csv
C:\5.csv
Es como si no se establece la variable str hasta la última ejecución del bucle, a pesar de que está tratando de hacer eco a cabo la variable, la línea de los cuales se produce después de que el ajuste y, a continuación, se guarda esta para el siguiente ciclo? ¿Hay algo que me falta en la forma en que procesa los bucles?
Gracias
¡Usted señor, es un caballero! (Lo aceptaré en 5 minutos cuando pueda) – Psytronic
Ese es un problema común con los archivos por lotes ... Me engañaron hace algunos meses ... – Benoit