Метасимволы
───────────────────────────────────────────────────────────────────────────────────────────
В ассоциированных командах, пользовательском меню и команде "Применить команду" могут
использоваться специальные метасимволы:
!! символ '!'
! Длинное имя файла без расширения
!~ Короткое имя файла без расширения
!` Длинное расширение файла без имени (ext)
!`~ Короткое расширение файла без имени (ext)
!.! Длинное имя файла с расширением
!-! Короткое имя файла с расширением
!+! Аналогично !-!, но если длинное имя файла утеряно
после выполнения команды, FAR восстановит его
!@! Имя файла, содержащего имена помеченных файлов
!$! Имя файла, содержащего короткие имена помеченных файлов
!& Список помеченных файлов
!&~ Список помеченных файлов с короткими именами
!: Текущий диск
!\ Текущий путь
!/ Короткое имя текущего пути
!?<title>?<init>!
При выполнении команды этот символ заменяется
данными, введенными пользователем. <title> и
<init> - заголовок и исходный текст строки
редактирования.
Допускается использование нескольких таких символов
в одной строке, например:
grep !?Search for:?! !?In:?*.*!|c:\far\far.exe -v -
!# Префикс "!#", указанный перед символом ассоциации
файла, заставляет его (и все последующие) ссылаться
на пассивную панель (см. примечание 4).
Например, !#!.! обозначает имя текущего файла на
пассивной панели.
!^ Префикс "!^", указанный перед символом ассоциации
файла, заставляет его (и все последующие) ссылаться
на активную панель (см. примечание 4).
Например, !^!.! обозначает имя текущего файла на
активной панели, а конструкция !#!\!^!.! - файл на
пассивной панели с таким же именем, как имя текущего
файла на активной панели.
Примечания:
1. FAR при обработке метасимволов подставляется только то, что они означают (имя файла,
расширение и т.д.). Никаких дополнительных символов (например, кавычки или фамилии
разработчиков FAR) не подставляется и вы должны это сделать сами, если потребуется.
Например, если используемая в ассоциациях программа требует, чтобы имя файла было в
кавычках, то вы должны писать program.exe "!.!", а не program.exe !.!.
2. Для ассоциаций !@! и !$! допускаются следующие модификаторы:
'Q' - заключать имена с пробелами в кавычки;
'S' - использовать '/' вместо '\' в путях файлов;
'F' - использовать полный путь;
'A' - использовать ANSI кодировку.
Например, ассоциация !@AFQ! - имя файла, содержащего имена помеченных файлов с полным путем в ANSI кодировке; имена файлов, содержащие пробелы будут заключены в кавычки.
3. Метасимволы !@! и !$! в меню выбора (когда задано несколько ассоциаций) показываются
как есть, преобразование происходит в момент исполнения команды.
4. Префиксы "!#" и "!^" работают как переключатели для ассоциаций. Действие этих
префиксов распространяется до следующего подобного префикса. Например:
if exist !#!\!^!.! diff -c -p !#!\!^!.! !\!.!
"Если на пассивной панели существует такой же файл, как и на
активной под курсором, то показать расхождения между файлом
на пассивной панели и файлом на активной панели, независимо
от имени текущего файла на пассивной панели"
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2