пытается создать сценарий .bat, и мне нужно, чтобы некоторые строки работали правильно.
Это то, что у меня есть на данный момент
@echo off
for /r %%i in (*.csv) do (
set str=%%i
set str=%str:csv=rar%
echo %%i
echo.%str%
)
Скажем, у меня это работает в C: \, и получил 5 csv, 1.csv, 2.csv ... 5.csv
В первый раз, когда я запустил его, я получил вывод:
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
Второй раз я получил:
C:\1.csv
csv=rar
C:\2.csv
csv=rar
C:\3.csv
csv=rar
C:\4.csv
csv=rar
C:\5.csv
Затем все последующие вызовы я получаю :
C:\1.csv
rar=rar
C:\2.csv
rar=rar
C:\3.csv
rar=rar
C:\4.csv
rar=rar
C:\5.csv
Когда то, что я ожидал получить, будет прямым:
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
Итак, я удаляю замену:
@echo off
for /r %%i in (*.csv) do (
echo %%i
set str=%%i
echo.%str%
)
Первый запуск:
C:\1.csv
C:\2.csv
C:\3.csv
C:\4.csv
C:\5.csv
Второй запуск:
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
Это похоже на то, что переменная str не устанавливается до тех пор, пока последний запуск цикла, даже если он пытается вывести переменную, строка которой появляется после настройки, а затем сохранить это для следующего цикла? Есть что-то, что я? m отсутствует в способе обработки циклов?
Спасибо