CMD/DOS下符號的作用參考

因關於DOS符號的總結很少,所以根據[1],經過幾次整理之後,寫了下面這個《CMD/DOS符號參考》,推薦新手好好看看,老手溫習。

標題:[整理參考] CMD/DOS下符號的作用參考
作者:lxmxn [at] bbs.cn-dos.net
時間:2007-5-27
郵箱:lxmxn520[at]163.com
說明:1、轉帖請註明原帖出處屬於中國DOS聯盟(www.cn-dos.net/forum);
   2、歡迎大家補充還未說明到的符號;
   3、有任何錯誤還請不吝指出;
   4、特別感謝 qzwqzw 對此資料提出的補充和建議。     

正文開始:



            一、單符號
~
① 在for中表示使用增強的變量擴展。
② 在%var:~n,m%中表示使用擴展環境變量指定位置的字符串。
③ 在set/a中表示一元運算符,將操作數按位取反。

!
① 在set /a中一元運算符,表示邏輯非。比如set /a a=!0,這時a就表示邏輯1。

@
① 隱藏命令行本身的回顯,常用於批處理中。

$
① 在findstr命令裏面表示一行的結束。
② 在prompt命令裏面,表示將其後的字符轉義(符號化或者效果化)。

%
① 在set /a中的二元運算符,表示算術取餘。
② 命令行環境下,在for命令in前,後面接一個字符(可以是字母、數字或者一些特定字符),表示指定一個循環或者遍歷指標變量。
③ 批處理中,後接一個數字表示引用本批處理當前執行時的指定的參數。
④ 其它情況下,%將會被脫去(批處理)或保留(命令行)

^
① 取消特定字符的轉義作用,比如& | > < ! "等,但不包括%。比如要在屏幕顯示一些特殊的字符,比如> >> | ^ &等符號時,就可以在其前面加一個^符號來顯示這個^後面的字符了,^^就是顯示一個^,^|就是顯示一個|字符了;
② 在set/a中的二元運算符,表示按位異或。
③ 在findstr/r的[]中表示不匹配指定的字符集。

&
① 命令連接字符。比如我要在一行文本上同時執行兩個命令,就可以用&命令連接這兩個命令。
② 在set/a中是按位與。

*
① 代表任意個任意字符,就是我們通常所說的"通配符";比如想在c盤的根目錄查找c盤根目錄裏所有的文本文件(.txt),那麼就可以輸入命令"dir c:/*.txt"。
② 在set /a中的二元運算符,表示算術乘法。
③ 在findstr/r中表示將前一個字符多次匹配。

-
① 範圍表示符,比如日期的查找,for命令裏的tokens操作中就可以用到這個字符。
② 在findstr/r中連接兩個字符表示匹配範圍。
③ -跟在某些命令的/後表示取反向的開關。
④ 在set /a中:
   1.表示一個負數。
   2.表示算術減運算。

+
① 主要是在copy命令裏面會用到它,表示將很多個文件合併爲一個文件,就要用到這個+字符了。
② 在set/a中的二元運算符,表示算術加法。

:
① 標籤定位符,表示其後的字符串爲以標籤,可以作爲goto命令的作用對象。比如在批處理文件裏面定義了一個":begin"標籤,用"goto begin"命令就可以轉到":begin"標籤後面來執行批處理命令了。
② 在%var:string1=string2%中分隔變量名和被替換字串關係。

|
① 管道符,就是將上一個命令的輸出,作爲下一個命令的輸入."dir /a/b |more"就可以逐屏的顯示dir命令所輸出的信息。
② 在set/a中的二元運算符,表示按位或。
③ 在幫助文檔中表示其前後兩個開關、選項或參數是二選一的。

/
① 表示其後的字符(串)是命令的功能開關(選項)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的參數。
② 在set/a中表示除法。

>
① 命令重定向符,將其前面的命令的輸出結果重新定向到其後面的設備中去,後面的設備中的內容被覆蓋。比如可以用"dir > lxmxn.txt"將"dir"命令的結果輸出到"lxmxn.txt"這個文本文件中去。
② 在findstr/r中表示匹配單詞的右邊界,需要配合轉義字符/使用。

<
① 將其後面的文件的內容作爲其前面命令的輸入。
② 在findstr/r中表示匹配單詞的左邊界,需要配合轉義字符/使用。

=
① 賦值符號,用於變量的賦值。比如"set a=windows"的意思意思是將"windows"這個字符串賦給變量"a"。
② 在set/a中表示算術運算,比如"set /a x=5-6*5"。

/
① 這個"/"符號在有的情況下,代表的是當前路徑的根目錄.比如當前目錄在c:/windows/system32下,那麼你"dir /"的話,就相當與"dir c:/"。
② 在findstr/r中表示正則轉義字符。

,
① 在set /a中表示連續表達式的分割符。
② 在某些命令中分割元素。

.
① 在路徑的/後緊跟或者單獨出現時:
   一個.表示當前目錄。
   兩個.表示上一級目錄。
② 在路徑中的文件名中出現時:
   最後的一個.表示主文件名與擴展文件名的分隔。

?
① 在findstr/r中表示在此位置匹配一個任意字符。
② 在路徑中表示在此位置通配任意一個字符。
③ 緊跟在/後表示獲取命令的幫助文檔。



            二、多符號(符號不能分隔)

&&
① 連接兩個命令,當&&前的命令成功時,才執行&&後的命令。

||
① 連接兩個命令,當||前的命令失敗時,才執行||後的命令。

>&
① 將一個句柄的輸出寫入到另一個句柄的輸入中。

<&
① 從一個句柄讀取輸入並將其寫入到另一個句柄輸出中。

%%
① 兩個連續的%表示在預處理中脫爲一個%。
② 批處理中,在for語句的in子句之前,連續兩個%緊跟一個字符(可以是字母、數字和一些特定字符),表示指定一個循

環或者遍歷指標變量。
③ 批處理中,在for語句中,使用與in之前指定的指標變量相同的串,表示引用這個指標變量。

>>
① 命令重定向符,將其前面的命令的輸出結果追加到其後面的設備中去。
② 在set /a中的二元運算符,表示邏輯右移。

==
① 在if命令中判斷==兩邊的元素是否相同。

<<
① 在set /a中的二元運算符,表示邏輯左移。

+=
① 在set /a中的二元運算符。例如set /a a+=b表示將a加上b的結果賦值給a。

-=
① 在set /a中的二元運算符。例如set /a a-=b表示將a減去b的結果賦值給a。

*=
① 在set /a中的二元運算符。例如set /a a*=b表示將a乘以b的結果賦值給a。

/=
① 在set /a中的二元運算符。例如set /a a/=b表示將a除以b的結果賦值給a。

%=
① 在set /a中的二元運算符。例如set /a a%=b表示將a除以b的餘數賦值給a。
【注:命令行可以直接用 set /a a%=b ,在批處理裏面可以用 set /a a%%=b 。】

^=
① 在set /a中的二元運算符。例如set /a a"^="b表示將a與b按位異的結果賦值給a。
【注:這裏 "^=" 加引號是爲了防止^被轉義,下同。】

&=
① 在set /a中的二元運算符。例如set /a a"&="b表示將a與b按位與的結果賦值給a。

|=
① 在set /a中的二元運算符。例如set /a a"|="b表示將a與b按位或的結果賦值給a。

<<=
① 在set /a中的二元運算符。例如set /a a"<<="b表示將a按位左移b位的結果賦值給a。

>>=
① 在set /a中的二元運算符。例如set /a a">>="b表示將a按位右移b位的結果賦值給a。

/<
① 在findstr的一般表達式中表示字的開始處。

/>
① 在findstr的一般表達式中表示字的結束處。



            三、雙符號對(兩個符號之間須指定字符串)

! !
① 當啓用變量延遲時,使用!!將變量名擴起來表示對變量值的引用。

' '
① 在for/f中表示將它們包含的內容當作命令行執行並分析其輸出。
② 在for/f "usebackq"中表示將它們包含的字符串當作字符串分析。

( )
① 命令包含或者是具有優先權的界定符,比如for命令要用到這個(),我們還可以在if,echo等命令中見到它的身影。
② 在set /a中表示表達式分組。

" "
① 界定符,在表示帶有空格的路徑時常要用""來將路徑括起來,在一些命令裏面也需要" "符號。
② 在for/f中將表示它們包含的內容當作字符串分析。
③ 在for/f "usebackq"表示它們包含的內容當作文件路徑並分析其文件的內容。
④ 在其它情況下表示其中的內容是一個完整的字符串,其中的>、>>、<、&、|、空格等不再轉義。

` `
① 在for/f中表示它們所包含的內容當作命令行執行並分析它的輸出。

% %
① 使用兩個單獨的%包含一個字符串表示引用以此串爲名的環境變量。比如一個%time%可以擴展到當前的系統時間。

[ ]
① 在幫助文檔表示其中的開關、選項或參數是可選的。
② 在findstr /r中表示按其中指定的字符集匹配。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章