Как создать пакетный файл с сохранением информации путем ввода в работающий пакетный файл - PullRequest
0 голосов
/ 22 марта 2012

Итак, я хотел бы создать пакетный файл с логином (именем пользователя и паролем), в котором не нужно было бы заходить в скрипт (где все команды), чтобы изменить пароли и имена пользователей.

В настоящее время я могу создавать учетные записи, в которых хранится информация для входа через% info%. Однако это не является постоянным, и эта информация будет потеряна, как только я закрою пакетный файл, так что мне нужно будет вручную изменить скрипт (я хотел бы устранить это, сжав пакет в exe-файл для загрузки). позже) или для создания учетной записи каждый раз, когда пакетный файл открывается заново.

Я предполагаю, что есть какая-то команда, которая позволяет вам редактировать сценарий пакетного файла из запущенного пакетного файла. Если это так, я был бы признателен, если бы кто-нибудь мог показать мне команду и как ее использовать (я предполагаю, что если я изменю, где пароль перейдет к чему-то различимому, например, ZXC001 и так далее, и такая команда существует, я могу заменить ее пароль)

1 Ответ

1 голос
/ 22 марта 2012

Самое простое - сохранить необходимую информацию в отдельном командном файле, используя:

echo set info=%info% >loginInfo.bat

и когда вы хотите получить информацию, просто используйте (из основного пакетного файла):

call loginInfo

Приведенный выше код подвержен риску, если% info% содержит специальные символы, но есть несколько простых улучшений, которые можно сделать, чтобы обойти эту проблему, причем все они каким-то образом используют отложенное расширение.

Есть вариации к теме. Например, вы можете сохранить только значение% info% только в текстовом файле, а затем прочитать значение обратно, используя FOR /F.

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

...