используя параметры псевдонима в командной строке окна - PullRequest
0 голосов
/ 15 декабря 2010

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

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

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

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

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

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

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

C: \ а \ Защита> Псевдоним Сброс всех определенных псевдонимов для CMD.EXE. in = pushd% 1 & dir & popd

alias def не будет работать

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

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

Использование: ALIAS [-v] [-p имя_программы] [-f filespec] []

         [-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> псевдоним 'echo% 1'

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

C: \ Office \ dev15> псевдоним из-за обратного удара эха% 1 обратный удар

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

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

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

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

out             =echo %1

C: \ Office \ dev15> out abc

% 1

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

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

C: \ Office \ dev15> out abc

ECHO включено.

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

1 Ответ

1 голос
/ 19 декабря 2010

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

   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 ' короче и экономит нажатия клавиш!

...