Переставить элементы массива в cmd - PullRequest
0 голосов
/ 24 ноября 2018

В моем пакетном файле есть массив, который выглядит следующим образом:

"port[0] ="
"port[1] = 0"
"port[2] = 3"
"port[3] = 2"

Есть ли какой-нибудь хороший и элегантный способ переместить значения на один элемент назад, чтобы он выглядел следующим образом?:

"port[0] = 0"
"port[1] = 3"
"port[2] = 2"
"port[3] ="

Я хочу что-то, кроме SET port[0] = %port[1]% и т. Д.

1 Ответ

0 голосов
/ 24 ноября 2018
:: Q:\Test\2018\11\23\SO_53453204.cmd
@Echo off&SetLocal  EnableDelayedExpansion
set "port[0]="   &Rem this clears/deletes the variable
set "port[1]=0"
set "port[2]=3"
set "port[3]=2"

For /L %%L in (1,1,3) do (
  set /A "New=%%L-1,Last=%%L"
  set "port[!New!]=!port[%%L]!"
)
:: finally reset the last entry
set "port[%Last%]="
set port[

> Q:\Test\2018\11\23\SO_53453204.cmd
port[0]=0
port[1]=3
port[2]=2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...