2010-12-15 63 views
0

來源:HTTP://jpsoft.com/help/index.htm alias.htm使用別名參數在窗口命令提示

別名可以使用命令行參數 或參數,如那些在 批處理文件。命令行 參數的編號從%0到 %511。 (%0包含別名。)

例如,以下別名將 變化目錄,執行命令, 並返回到原來的目錄:

別名pushd %1 & %2$ & popd

當我運行上面的命令時,我的命令提示符給出錯誤說

%1 *無法讀取別名值* 「%2」不被識別爲內部或外部的命令, 運行的程序或批處理文件。 'popd`'不被識別爲內部或外部命令, 可操作的程序或批處理文件。

如果使用雙引號代替,別名 「PUSHD%1 & DIR & POPD」 它不會當您執行別名

ç解釋%1:\ ABC \ DEF>別名 傾銷所有爲CMD.EXE定義的別名。在= PUSHD %1 & DIR & POPD

別名DEF不會工作

--------- ------------編輯 讓我嘗試一些樣本輸出一個簡單的回顯別名

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:\辦公室\ dev15>別名出 '回聲%1'

%1 「*無法讀取別名值*

C:\辦公室\ dev15>別名出反引號回波%1個反引號

%1` *無法讀取別名值*

C:\辦公室\ dev15>別名出 「回聲%1」

C:\辦公室\ dev15>別名

爲CMD.EXE轉儲所有已定義的別名。

out    =echo %1 

C:\辦公室\ dev15>出ABC

%1

C:\辦公室\ dev15>別名出回聲%1

%1 *無法讀取值\辦公室\ dev15>出ABC

:別名*

的C 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。在這種情況下'* .TXT' -

DIR命令然後用%2,因爲它的參數來執行。

最後,POPD通過彈出堆棧來恢復上一個工作目錄。

僅供參考,這是等同於以下標準的DOS命令:

dir c:\temp\*.txt 

在標準的DOS下面的命令也將正常工作:

pushd & dir *.txt & popd 

但很明顯, 'dtxt' 是縮短並節省擊鍵次數!

+0

這是我的輸出後,我複製並粘貼命令 d:\>別名dtxt ='PUSHD%1&DIR%2 $&popd'在驅動d 卷是新卷 卷序列號是 指南D:\ 未找到文件 'popd''未被識別爲內部或外部命令, 可操作的程序或批處理文件。 – freshWoWer 2010-12-20 20:57:51

+0

freshWoWer,你在運行什麼操作系統?另外,你使用'Take Command'嗎? - 如果是這樣,什麼版本? – 2010-12-22 13:17:42

+0

我正在使用windowserver2008R2,而不是使用take命令 – freshWoWer 2011-01-17 21:26:02

相關問題