Есть ли способ сжать длинную и повторить команду «set» в одну команду? - PullRequest
0 голосов
/ 04 ноября 2019

Итак, я получил следующий фрагмент кода, который установит переменную как другую переменную

  set c1_page_%page_num%=%c1% 
  set c2_page_%page_num%=%c2% 
  set c3_page_%page_num%=%c3% 
  set c4_page_%page_num%=%c4% 
  set c5_page_%page_num%=%c5% 
  set c6_page_%page_num%=%c6% 
  set c7_page_%page_num%=%c7% 
  set c8_page_%page_num%=%c8% 
  set c9_page_%page_num%=%c9% 
  set c10_page_%page_num%=%c10%
  set c11_page_%page_num%=%c11%
  set c12_page_%page_num%=%c12%
  set c13_page_%page_num%=%c13%
  set c14_page_%page_num%=%c14%
  set c15_page_%page_num%=%c15%

Мне нужно каким-то образом по-прежнему иметь возможность установить всю переменную как другую переменную только с одной строкой кода илиБольше. Пожалуйста, помогите мне

1 Ответ

3 голосов
/ 04 ноября 2019

Я предполагаю, что вы хотите одну строку, которая будет работать за вас?

@echo off
for /l %%i in (1,1,15) do call set c%%i_page_%page_num%=%%c%%i%%

или с использованием delayedexpansion

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,15) do set c%%i_page_%page_num%=!c%%i!
...