2010-12-15 2 views
0

Источник: HTTP: //jpsoft.com/help/index.htm alias.htmс использованием параметров псевдонимов в командной строке окна

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

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

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

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

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

если использовать двойные кавычки вместо, он же в "Pushd% 1 & & режа POPD" не интерпретирует% 1 при выполнении Псевдонима

C: \ а \ Защита> псевдоним демпинга все определенные псевдонимы для CMD.EXE. в = Pushd% 1 & & реж POPD

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

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

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

Использование: ALIAS [-v] [-p ProgramName] [-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> псевдоним из кавычки эха% 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> из а

ECHO включен.

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

ответ

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 восстанавливает предыдущий рабочий каталог, выгружая его из стека.

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

dir c:\temp\*.txt 

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

pushd & dir *.txt & popd 

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

+0

Вот мой выход после того, как я скопировать и вставить команду D: \> псевдоним dtxt = `Pushd% 1 & реж% 2 $ & popd` Объем в дисководе D является New Volume Объем Серийный номер Справочник of D: \ Файл не найден 'popd`' не распознается как внутренняя или внешняя команда, действующая программа или командный файл. – freshWoWer 2010-12-20 20:57:51