пытается создать скрипт .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 не установлена до последнего запуска цикла, даже если он пытается отобразить переменную, строка которой происходит после установки, а затем сохранил ее для следующего цикла? Я что-то упускаю из-за того, что он обрабатывает циклы?
Спасибо