大小寫
首先要登場的是大小寫,命令提示字元對大小寫是沒差的,但 Linux-based 就差很大了。 Linux-based 視大小寫為相異,即大小寫是不同字。好險命令提示字元使用者不用擔心這種事,把它視為相同就可以了。
::
二個冒號,在標準美式鍵盤字母區「L」右鍵,使用時請加上變換鍵(Shift + ;)。這是用來註解的符號,即這行不會被判讀,跟 rem 的作用是一樣的。

-
一個減號,在標準美式鍵盤字母區第一排數字「0」右邊那一個鍵。這是在 Microsoft© Windows® XP 之前常用參數用的引字,但在後面的版本就改掉了,目前留有 ping 還看的到蹤跡。實際上用減的也是沒有問題,但在這裡還是要說微軟® 官方在之後的版本己經改掉了。

/
一個右上到左下的一撇,在標準美式鍵盤字母區最下面一排最右邊那一個鍵。這是在 Microsoft© Windows® 7 之後常用參數用的引字,所有的說明都改掉了。另外這個字也是 Linux-based 中代表資料夾的符號,不要搞混了。

有機會的人可以去看 Microsoft© Windows® XP ,它是用淢號。
\
一個左上到右下的一撇,在標準美式鍵盤字母區第二排最右邊那一個鍵。這是 Windows® 中代表資料夾的符號,也請不要跟上一個搞混了。如圖中所示:

. / ..
一個點和二個點,這個點在標準美式鍵盤上字母「M」右邊二鍵的地方。一個點的意義是指「這個資料夾」,二個點的意義是指「上一層資料夾」,所以「.\..\.\」就是指目前的資料夾。這樣解釋不懂的人還是不懂,用指令說吧:

在切換到「.」之後不變,在切換到「..」之後就是到上一層資料夾,這樣了乎?另外也需要注意:

在這個資料夾有「.」和「..」,代表這個資料夾有這一層資料夾(廢話)和上一層資料夾,這在之前沒有辦法先說明,有注意到的人在這裡就先說聲抱歉。
?
這是一個問號,在標準美式鍵盤字母區最下面一排最右邊那一個鍵,使用時請加上變換鍵(Shift+/)。也許有人己經知道了,他是搜尋時代表一個不確定的字母。如「Te?t」可以是「Test」或「Text」等等。
*
這是一個米號,在標準美式鍵盤字母區數字「8」的地方,使用時請加上變換鍵(Shift+8)。也許有人己經知道了,他是搜尋時代表多個不確定的字母,在實務上這個字比較常用,如要簡易搜尋:

會列出執行目錄下所有副檔名為「.txt」的檔案。
"
這是一個中文不會解釋的符號,在標準美式鍵盤字母區分號右邊,使用時請加上變換鍵(Shift+')。這個符號是用來包夾字串用的,如「Document and Settings」會被誤認為三個參數,加上符號就會視為一個參數了,這在 cd 己經有解釋了。
'
這是一個點,在標準美式鍵盤字母區分號右邊。這個字其實沒有實質意義,但有時候如「"Document "and" Settings"」會被誤認為「Document 」「and」「 Settings」,這時只要改成「"Document 'and' Settings"」就可以了。這要什麼時候用呢?不知道,但要用的時候不知道會很頭大。
%
這是一個百分比,在標準美式鍵盤字母區數字「5」的地方,使用時請加上變換鍵(Shift+5)。這個字是代表變數的意思,變數會再開二章來說,這裡知道它是變數就好了。
nul / null
這是英文單字。它代表是沒有東西。當有些東西不想要就可以使用這個字把它丟掉。
>
這是一個向右的鍵號,在標準美式鍵盤字母區最下面一排的地方點那個字,使用時請加上變換鍵(Shift+.)。這是代表標準輸出,使用這個符號可以把輸出到營幕上的字轉到想要的地方,如

可以發現所有字都輸出到 Test.txt 了,另外也可以:

會發現什麼都沒有。
另外有一件事要說一下,就是正確來說「echo This is a test. >nul」應該要是「echo This is a test.>nul」,但為了美觀所以個人選擇前者,有差在於,前者會多一個空白,有些時候會出問題。
>>
這是二個向右的鍵號。這是代表繼續寫入,一個箭號會覆蓋原本的檔案,二個箭號會接續下去寫入,可以試試

和

就可以發現差別了。
1> / 2>
數字加上上面剛說的箭號。輸出有分二種,一種是標準輸出,一種是標準錯誤輸出。標準輸出是「1>」,「1」可以省略,就變成上面那樣了。標準錯誤輸出「2>」是擔心有人把標準輸出輸出到外面,但執行時有重大錯誤需要注意,就用標準錯誤輸出作輸出,會用到標準錯誤輸出普通都是一定規模的程式,以下有個小範例:

可以注意到用標準輸出到 nul 還是有字出現,但使用標準錯誤輸出到 nul 時字就消失了。另外輸出可用二個,即「1>>」和「2>>」是有意義的。
如果有學過 C 的人就知道 printf() 就是輸出到 1> ,而 2> 就是 fprintf(stderr,"") 。
<
這是標準輸入,但本人沒有用過,但還是可以提供一些使用範例:

|
這叫做管線命令,在標準美式鍵盤字母區左右括弧右邊那一鍵,使用時請加上變換鍵(Shift+\)。管線命令是把標準輸出轉到另外一個程式,跟標準輸出不一樣的是這個是轉到另外一個程式,標準輸出轉到檔案。最常見的是用在「find」,這到了再說,但還是可以先提一下,上面「find "Test" < Test.txt」等同於:

()
這是左右括弧,在標準美式鍵盤字母區「9」或「0」,使用時請加上變換鍵(Shift+9)(Shift+0)。這代表一個副程式,最常見的是用在「for」和「if」。
.bat / .cmd
這是附檔名。把要作的指令存成一個文字文件,讓它照文字文件中一行一行執行,這個文件就叫做「批次檔」(Batch File)。
先談一下歷史,DOS 是古老、單純的作業系統,後來被微軟© 併掉變成「MS-DOS」,而微軟© 就名正言順放入 Windows® 中。但 DOS 在 Windows® 中不是直接執行,而是被摸擬出來的,這也是為何 64 位元中竟然也有命令提示字元。那這跟這個主題有何關係呢?「.bat」是 DOS 在用的,「.cmd」是命令提示字元在用的, DOS 和命令提示字元很指令不一樣,當然很多老人轉不過來,把這些東西全部存成「.bat」,但這是不對的,需要被更正。
這樣談批次檔好像很不端正,但事實上現在學的東西也不知道能搞什麼,等到後面談到就更了解了。
^
這是一個箭頭,在標準美式鍵盤字母區數字「6」的地方,使用時請加上變換鍵(Shift+6)。這是跳脫字元,如在副程式中的管線符號:
會被誤判,這時要改成:
讓管線符號正確被送入。
很不負責任的說明!等到「for」就知道了。
@
這是一隻小老鼠,在標準美式鍵盤字母區數字「2」的地方,使用時請加上變換鍵(Shift+2)。初學者這個可以先跳過,因為後面會在解釋。它的作用是讓批次檔不要顯示這行執行內容,結果還是會顯示,等同於對這行做「echo off」。做法是放在指令的前面,如:

&&
這是二個「AND」,在標準美式鍵盤字母區數字「7」的地方,使用時請加上變換鍵(Shift+7)。這個符號是讓原本二行指令變成一行指令,因為很多場合沒有辦法用一行指令結束,但又只能用一行結束,所以這個符號就上場了。實際用法如下:

這章會讓人無言吧!但沒有辦法,因為很多符號現在沒有辦法解釋,而又不可能用到的時候再說,因為那樣太凌亂了,只好一股腦兒的全部說來。下一章開始會回到一章一堆指令的年代,但會默默的使用這章講的東西,到時候不懂再回來看應該就會懂了。
下一章:進階指令
- 2012-09-11 初次發佈。
- 2017-07-12 更新成 Windows 10 的版本。
請問 nul / null
回覆刪除我使用 set /p=Y<nul 可以用
但是 使用 set /p=Y<null 它說 系統找不到指定檔案
請問 null 使用時機 ?
在 Windows 中就只有 nul
回覆刪除但英文單字中就有 null
所以就寫進去了
有沒有辦法用">"或">>"一次把要換行的訊息寫進Test.txt呢?
回覆刪除還是只能輸入完每一行後都用">>"來換行?
請問一下要實作的上下行程式碼是什麼?
刪除如果是要輸出新的一行
echo. 就可以了
其實就類似像下一章的Test.txt裡面的文字
刪除有沒有辦法把
This is a test.
This is not a test.
This can be a test.
This may be a test.這種文字訊息用>輸出成文件並且換行呢?
> 是每一次都洗掉之前的內容
刪除>> 會接續檔案繼續寫入
而上面的方法是
echo This is a test. >>Test.txt
echo This is not a test. >>Test.txt
echo This can be a test. >>Test.txt
echo This may be a test. >>Test.txt
所以會在很多 .cmd 程式中看到一長串的 echo
就是 echo 執行完一次會跳一行
正確來說是送斷行字元
"這是一個中文不會解釋的符號" 哈哈哈哈
回覆刪除那個是雙引號 下面那個是單引號