использование параметров псевдонима в командной строке окна

Источник: http://jpsoft.com/help/index.htm?alias.htm

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

Например, следующий псевдоним изменит каталоги, выполнит команду и вернется в исходный каталог:

псевдоним в pushd %1 & %2$ & popd

когда я запускаю вышеуказанное, моя командная строка выдает ошибку, говорящую

%1 * Невозможно прочитать значение псевдонима * '%2' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. 'popd`' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.

если вместо этого вы используете двойную кавычку, псевдоним в «pushd %1 & dir & popd», он не интерпретирует %1 при выполнении псевдонима

C:\abc\def>alias Сброс всех определенных псевдонимов для CMD.EXE. in =pushd %1 & dir & popd

псевдоним def не будет работать

---------EDIT------------ позвольте мне попробовать некоторый пример вывода с простым эхо-псевдонимом

D:\abc\def>псевдоним /?

Использование: Псевдоним [-v] [-p имя_программы] [-f спецификация_файла] [ ]

         [-v] means verbose output.

         [-d] means delete aliases.

         [-p programName] specifies which image file name these alias

                          definitions are for.  Default is CMD.EXE

         [-f filespec] specifies a file which contains the alises.

C:\Office\dev15>псевдоним "эхо %1"

%1' * Невозможно прочитать значение псевдонима *

C:\Office\dev15>псевдоним вне обратной кавычки echo %1 обратная кавычка

%1` * Невозможно прочитать значение псевдонима *

C:\Office\dev15>псевдоним "эхо %1"

C:\Office\dev15>псевдоним

Сброс всех определенных псевдонимов для CMD.EXE.

out             =echo %1

C:\Office\dev15> из абв

%1

C:\Office\dev15>псевдоним исходящего эха %1

%1 * Невозможно прочитать значение псевдонима *

C:\Office\dev15> из абв

ЭХО включено.

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


person freshWoWer    schedule 15.12.2010    source источник


Ответы (1)


Хорошо, попробуйте это (используйте копирование и вставку):

   alias dtxt = `pushd %1 & dir %2$ & popd`

Это устанавливает псевдоним 'dtxt' для следующих команд:

   pushd %1
   dir %2
   popd

Обратите особое внимание на перевернутые одинарные кавычки (`) вокруг определения псевдонима. Эта кнопка находится в верхней левой клавише на клавиатурах ISO (Великобритания) и ANSI (США).

Вам нужно будет указать два параметра, %1 и %2 при выполнении dtxt — целевой путь и параметр для команды DIR как в следующих примерах:

   dtxt c:\temp *.txt

Короче говоря, PUSHD помещает имя текущего рабочего каталога в стек LIFO и меняет каталог на c:\temp.

Затем команда DIR выполняется с параметром %2 — в данном случае '*.txt'.

Наконец, POPD восстанавливает предыдущий рабочий каталог, извлекая его из стека.

К вашему сведению, это эквивалентно следующей стандартной команде DOS:

   dir c:\temp\*.txt

Следующая команда в стандартной DOS также будет работать нормально:

   pushd & dir *.txt & popd

Но очевидно, что 'dtxt' короче и экономит нажатия клавиш!

person Paul Tomasi    schedule 19.12.2010
comment
Вот мой вывод после того, как я скопировал и вставил команду D:\›alias dtxt = pushd %1 & dir %2$ & popd Том на диске D — это новый том Серийный номер тома — это каталог D:\ Файл не найден 'popd`' не распознается как внутренний или внешний команду, исполняемую программу или пакетный файл. - person freshWoWer; 20.12.2010
comment
freshWoWer, на какой операционной системе ты это делаешь? Кроме того, вы используете «Принять команду»? - Если да, то какая версия? - person Paul Tomasi; 22.12.2010