Я использую Windows 10 64 бит и пытаюсь записать BAT-файл. У меня есть следующий код, который не является полностью функциональным.
@Echo off
SETLOCAL enabledelayedexpansion
SET value1=2020_01_19_17_00_01
SET Arr1[0]=_f104.sql
SET Arr1[1]=_f105.sql
SET Arr1[2]=_f106.sql
SET Arr1[3]=_f107.sql
SET Arr1[4]=_f108.sql
SET Arr1[5]=_f109.sql
REM ::read it using a FOR /L statement
For /l %%n in (0,1,5) do (
Echo The value of the concatinated values is now: C:\SS_Library_Backups\%value1%!Arr1[%%n]!
SET filename=C:\SS_Library_Backups\%value1%!Arr1[%%n]!
Echo The value of the variable filename is now: %filename%
)
Это приводит к результатам
C:\SS_Library_Backups>test4
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f104.sql
The value of the variable filename is now: ""
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f105.sql
The value of the variable filename is now: ""
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f106.sql
The value of the variable filename is now: ""
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f107.sql
The value of the variable filename is now: ""
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f108.sql
The value of the variable filename is now: ""
The value of the concatinated values is now: C:\SS_Library_Backups\2020_01_19_17_00_01_f109.sql
The value of the variable filename is now: ""
Кажется, я не могу использовать оператор SET в скобках. Я не знаю, почему «Эхо» работает, а «Set» - нет. Мне нужно обработать несколько операторов для l oop, таких как "If", "Goto" и др. c. Есть ли что-то, что я должен сделать, чтобы включить операторы, кроме "Эхо" в скобках? Спасибо, что посмотрели на это.