Как сжать много переменных? - PullRequest
0 голосов
/ 25 декабря 2018

Я настраиваю некоторый код, который поможет мне провести математический эксперимент.Есть ли способ использовать циклы в пакетном режиме для автоматического создания нескольких переменных.

Я пытался присоединить переменную к заданной команде (до знака равенства), но затем команда не запускается.

@echo off

set variablerep=0
pause

Set p1=0

Set p2=0

Set p3=0

...

...

Set p34=0

Set p35=0

Set p36=0



Pause

Я надеюсь найти способы, с помощью которых мне не нужно копировать каждую команду set и эффективно вносить незначительные изменения и код.

Ответы [ 2 ]

0 голосов
/ 25 декабря 2018
  • Пожалуйста, помните, что математика в (чистом) пакете ограничена 32-битными целыми числами со знаком (+/- ~ 2 ГБ).
  • и NO математика с плавающей запятой.
  • Все переменные хранятся в виде строк, и только set /A и if команды пытаются преобразовать в целые числа.
  • синтаксис set /a допускает несколько исчислений в одной строке, разделенных запятой,

set /A p1=0,p2=0,p3=0

, также существует специальный вариант, позволяющий установить несколько переменных вто же значение:

set /A p1=p2=p3=0

При использовании индекса для адресации переменных псевдо array[%%I] формат является распространенным, тогда как может использоваться любая допустимая схема именования - как показывает ответ jsxt s.

0 голосов
/ 25 декабря 2018

Использование for /l петля:

@echo off

setlocal

set p_

for /l %%l in ( 1, 1, 36 ) do set p_%%l=0

set p_
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...