В поле «Выполнить» можно указать команду, выполняемую при выборе действия «Выполнить команду». Можно указать любую команду, которая может быть выполнена в ОС Windows через меню «Пуск→Выполнить».
Также, Password Safe может передать в параметры команды имя пользователя, пароль и некоторые другие данные, описанные ниже. Это позволяет производить некоторые сложные действия, например, запустить программу удалённого доступа (например, PuTTY) и передать ей имя пользователя и пароль, связанные с элементом.
«Переменные» заменяются соответствующими значениями перед выполнением команды. Символ доллара («$») используется для указания переменных.
Имена переменных имеют вид «$name» и являются регистрозависимыми. Имя переменной должно начинаться с буквы, в последующих символах имени можно использовать буквы и цифры. Имя переменной заканчивается перед символом отличным от буквы и цифры (например, пробел) или концом команды.
В случае, если требуется добавить букву или цифру сразу после значения переменной, заключите имя переменной в фигурные скобки, например, «${varname}строка».
Для использования знака «$» как обычного символа в строке (чтобы он не указывал на имя переменной), экранируйте его символом «\». Например, «\$text» рассматривается как «$text», а не как переменная с именем «text».
Для того чтобы вставить «\» перед символом «$», экранируйте его с помощью символа «\». «\\$name» рассматривается как «\$name» в конечном тексте, при этом «$name» считается переменной. Символ «\» не нужно экранировать, если он не идёт перед символом «$».
После переменной может указываться числовое значение в квадратных скобках, называемое «индексом». Значение индекса «n» может предваряться символом «+» или «-», например, [-2], [2] или [+2]. Password Safe считает нулевой индекс соответствующим значению всего поля.
В настоящий момент распознаются следующие переменные:
Связанные с приложением:
appdir
Каталог, содержащий исполняемый файл Password Safe (pwsafe.exe). См. примечания 1 и 2.
Связанные с контейнером:
dbdir
Каталог, содержащий текущий контейнер. См. примечания 1 и 2.
fulldb
Полный путь, имя файла и расширение текущего контейнера. См. примечание 2.
dbname
Имя файла текущего контейнера.
dbextn
Расширение файла текущего контейнера.
Связанные с текущим элементом:
g или group
Группа (полный путь до корня, разделённый точками).
Содержание всего поля заметок (также: notes или notes[0]). См. примечание 3.
n[i] или notes[i]
i-я строка заметок, считая с начала: i=1 — первая строка, i=2 — вторая и т. д. См. примечание 4.
n[-i] или notes[-i]
i-я строка заметок, считая с конца: i=1 — последняя строка, i=2 — предпоследняя и т. д. См. примечание 4.
Заметки
1
Имена каталогов (appdir или dbdir) не содержат конечного обратного слэша («\»). Не забудьте добавить его, если это требуется в параметрах программы.
2
В значении переменной (включая имена каталогов и полные пути) могут присутствовать пробелы. Для корректного выполнения команды может потребовать заключение переменной в кавычки.
3
Если поле заметок состоит из нескольких строк, значение переменной также будет содержать имеющиеся там символы возврата каретки (CR) и переноса строки (LF). Это может привести к ситуации когда CR и/или LF будут расценены как нажатие клавиши «Enter».
Если в команде присутствует переменная автонабора, операция автонабора будет выполнена, как только окно приложения станет активным. При этом переменная и её значение будут убраны из строки параметров. Данная переменная может быть написана в любом месте поля «Выполнить», так как она указывает, что должен сделать Password Safe после выполнения команды. В отличие от других переменных, она может принимать дополнительный параметр для изменения значения по умолчанию. Используется следующий формат (в указанных примерах «$a» можно заменить на «$autotype»):
$a
Использовать значение из текущего элемента.
${a}
Использовать значение из текущего элемента (фигурные скобки нужны, если за «$a» следует текст).
$a(значение)
Использовать строку автонабора, указанную в круглых скобках.
${a}(значение)
Использовать строку автонабора, указанную в круглых скобках.
Примечание. Не забудьте окружить строки кавычками, если это требуется. Например, если путь к контейнеру содержит пробелы, путь к текстовому файлу в данном каталоге следует писать так (с кавычками):
'$dbdir\\$dbname.txt'
Обратите внимание, что для того, чтобы «$dbname» было распознано как переменная, обратный слэш экранирован.
В ОС Windows также можно подставлять переменные окружения (как обычно, имя переменной окружается символами «%», например, %variable_name%). Пример: «%windir%\notepad.exe» преобразуется в «C:\Windows\notepad.exe» (зависит от каталога установки Windows). Текущие значения переменных можно определить, запустив «cmd.exe» и выполнив в консоли команду «set» без параметров. Имена неопознанных переменных окружения остаются без изменений. Например, "%xyz%\notepad.exe" останется равным "%xyz%\notepad.exe", если переменная окружения «xyz» не определена. Примечание. В ОС Windows переменные окружения регистронезависимы.
Примеры
Для подключения к myHost с именем пользователя и пароля из текущего элемента через PuTTY, нужно указать в поле «Выполнить» следующее значение: