Выполнение команд
В поле «Выполнить» можно указать команду, выполняемую при выборе действия «Выполнить команду». Можно указать любую команду, которая может быть выполнена в ОС 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 |
Группа (полный путь до корня, разделённый точками). |
G ╨╕╨╗╨╕ GROUP |
Имя группы, содержащей текущий элемент. |
t ╨╕╨╗╨╕ title |
Заголовок |
u ╨╕╨╗╨╕ user |
Имя пользователя |
p ╨╕╨╗╨╕ password |
Пароль |
e ╨╕╨╗╨╕ email |
e-mail (электронная почта) |
a ╨╕╨╗╨╕ autotype |
Автонабор. См. примечание 5. |
url |
Ссылка |
n ╨╕╨╗╨╕ n[0] |
Содержание всего поля заметок (также: 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». |
4 |
При указании одиночных строк заметок конечные символы CR и/или LF отбрасываются. |
5 |
Если в команде присутствует переменная автонабора, операция автонабора будет выполнена, как только окно приложения станет активным. При этом переменная и её значение будут убраны из строки параметров. Данная переменная может быть написана в любом месте поля «Выполнить», так как она указывает, что должен сделать 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 переменные окружения регистронезависимы.
Примеры