Выполнить команду
В поле "Выполнить" можно указать команду выполняемую при выборе действия "Выполнить". Можно указать любую команду, которая может быть выполнена через меню "Пуск->Выполнить" в ОС Windows.
Также, Password Safe может передать в параметры команды имя пользователя, пароль и некоторые другие данные, описанные ниже. Это позволяет производить некоторые сложные действия с помощью указанной программы, например, запуск программы удаленного доступа (например, PuTTY) и передавать ей имя пользователя и пароль, связанные с элементом.
"Переменные" заменяются соответствующими значениями перед выполнение команды. Символ доллара ('$') используется для указания переменных.
- Имена переменных имеют вид '$имя' и являются регистрозависимыми. Имя переменной должно начинаться с буквы, в последующих символах имени можно использовать буквы и цифры. Имя переменной заканчивается перед символом отличном от буквы и цифры (например пробел) или концом команды.
- В случае, если требуется добавить букву или цифру сразу после значения переменной, заключите имя переменной в фигурные скобки, например, '${перем}строка'.
- Для использования знака '$' как обычного символа в строке (чтобы он не указывал на имя переменной), экранируйте его символом '\'. Например, '\$text' рассматривается как '$text', а не как переменная с именем "text".
- Для того чтобы вставить обратный слэш перед символом '$', экранируйте его с помощью символа '\'. "\\$имя" рассматривается как "\$name" в конечном тексте, при этом "$name" считается переменной. Обратный слеш не нужно экранировать, если он не идет перед символом '$'.
- После переменной может указываться числовое значение в квадратных скобках, называемое "индексом". Значение индекса "n" может предваряться символом '+' или '-', например, [-2] или [2] или [+2]. Password Safe считает нулевой индекс соответствующим значению всего поля.
- В настоящий момент распознаются следующие переменные:
- Связанные с приложением:
appdir |
Каталог, содержащий Password Safe. См. примечания 1 и 2. |
- Связанные с текущим контейнером:
dbdir |
Каталог, содержащий текущий контейнер. См. примечания 1 и 2. |
fulldb |
Полный путь, имя файла и расширение текущего контейнера. См. примечание 2. |
dbname |
Имя файла текущего контейнера. |
dbextn |
Расширение файла текущего контейнера. |
- Связанные с текущим элементом:
g или group |
Группа (полный путь до корня, разделенный точками). |
G или GROUP |
Только имя группы содержащей текущий элемент. |
t или title |
Заголовок |
u или user |
Имя пользователя |
p or password |
Пароль |
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}(value) |
Использовать строку автонабора, указанную в круглых скобках. |
|
Примечание: не забудьте окружить строки кавычками, если это требуется. Например, если путь к контейнеру содержит пробелы, путь к текстовому файлу в данном каталоге следует писать так (с кавычками):
'$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 нужно указать в поле "Выполнить" следующее значение:
"C:\Program Files\PuTTY\putty.exe" -ssh ${u}@myHost 22 -pw $p