Чтобы сделать математику, вы должны использовать /A
с SET
SET x=1
SET /A x=%x%+1
ECHO %x%
Ключ / A указывает, что строка справа от знака равенства является числовым выражением, которое оценены. Анализатор выражений довольно прост и поддерживает следующие операции в порядке убывания приоритета:
blockquote>Для вложенных переменных вам нужно использовать
!
вместо%
[ 116] SetLocal EnableDelayedExpansion
Setlocal EnableDelayedExpansion for /f %%G in ("abc") do ( set _demo=%%G & echo !_demo! )
Вероятно, Ваш лучший способ состоит в том, чтобы поместить пароли в отдельный файл и заблокировать безопасность для этого, спиливают поэтому, только у Вас есть доступ для чтения. К сожалению, при хранении зашифрованного пароля в сценарии необходимо будет также сохранить метод дешифрования, таким образом, взломщик может выполнить дешифрование и восстановить пароль.
Почему беспокойство о паролях в сценарии, если Вы используете telnet? Предполагаемый взломщик собирается как быть легко или легче собрать данные от провода, чем от удаленной машины, и действительно нет ничего, что Вы могли делать с этим в любом случае.
Это походит на случай попытки поместить панели в окно и отъезд распахивающейся двери.
Ранее был очень похожий вопрос, см. мой ответ на него.
Короче говоря, человек должен начать цепочку доверия. Все остальное - путаница.
Так как Вы уже используете, ожидают, необходимо изучить способность перенаправить gpg-d на зашифрованном файле, который содержит пароли. Хранение паролей в системной переменной является просто неправильным. В пароль, который использовался бы для дешифрования gpg файла, введут, запускаются, затем загружают все пароли из файла и выполняют материал. Затем Вы сделаны, таким образом, пароли только существуют в простом тексте, в то время как приложение работает.
Редактирование так же, как примечание стороны, помещение любых паролей в сценарии является вредностью; помните, что сценарий является просто файлом простого текста, который делает наблюдение что пароль легкий как что-либо. Аналогично даже приложения, которые Вы компилируете, могут быть инвертированы со "строками", которые могут искать строки, которые содержатся в коде (обычно пароли).
Мне уже нравится решение, упомянутое помещения паролей в отдельном файле. Кроме того, Вы могли хешировать фактические пароли, во многом как то, что сделано в/etc/passwd. Хотя Вы могли бы использовать тот же ключ хеша для всех них в зависимости от как Ваше приложение. Очевидно, недостаток к этому - кто-то, должен ввести hashkey для запущения скрипта, и это не собирается работать в пакетной среде.
Одно место, чтобы начать узнавать что-то о хешировании от этого stackoverflow вопроса