Post view

MS-DOS 7.0 輕鬆學 for Windows 95 - 3:MS-DOS 輕鬆學-4

MS-DOS 7.0 輕鬆學 for Windows 95 - 3:MS-DOS 輕鬆學-4

3.jpg

關於檔案名稱二、三事

電腦檔案就像是一份文件,我們可以為這份文件取一個適當易記的名字,像是REPORT.DOC,而副檔名則用來指出該文件的製作類型,比如書信、報告、圖片、影片、音樂、音效... 等等。通常我們會把一件工作要用到的所有檔案,都集中在某個資料夾裡,這樣只要打開該資料夾,就可以看到與報告有關的各類型檔案。

檔名與磁區

站在磁碟機的角度來看,檔案其實只是儲存在磁碟機某些磁軌和磁區的一堆數字資料而已,如果沒有檔案名稱這樣的目錄,使用者就必須親自到每個磁區格子裡找尋所需的資料。比方說,REPORT.DOC也許是放在第9磁軌第10~35個磁區。

換句話說,在磁碟機上實際的資料存放位置是以魔術數字來表示,而檔名提供了一個以文字方式對映實際數字的辦法,我們只要利用「檔案名稱」就可以很快的從磁碟調出檔案,不必知道資料是放在磁碟的那些磁軌或磁區裡頭,簡化了檔案使用、管理、維護的複雜度。

IP與DNS

提到“檔名與磁區”之間的關係,順便聊聊Internet上非常重要而又難以理解的名詞,那就是IP位址和DNS伺服器!究竟有多重要呢?這麼說好了:要是您沒有設定好DNS正確的IP位址,保證絕對無法以類似 www.microsoft.com 這樣的網址連上Internet所有的烘焙雞(Home Page,首頁)。

全台灣有將近20家Internet服務廠商(Internet Services Provider,簡稱ISP)每家都有不同的DNS及IP位址,目前還不可能買一套軟體回來,就可以直接連上Internet,有許多相關設定一定要使用者自己動手做才行。問題就出在各式各樣奇怪的設定可不是一般初學者能搞懂而設定正確的,如果有高手代勞事先設定好的話,反而會變成上WWW的Home Page非常容易,想做好Internet軟體安裝和設定卻十分困難!

在Internet上數千萬部的電腦,每部電腦都會付予一個獨立的門牌號碼,那就是IP位址(Internet Protocol Address),這樣大家才可以互相傳送電子郵件和所需的資料。但問題是IP位址是以某種0~255的魔術數字,像168.95.192.1編碼而成的,試問有誰記得住千萬部電腦的IP位址,大概只有「超級本尊」。

這時需要另一部電腦提供索引目錄供大家對照IP位址,這部伺服器電腦就是網域名稱伺服器(Domain Name Server,簡稱DNS),幫使用者把 www.apple.com 這樣的網址換成實際的電腦門牌號碼 168.95.123.4 如此的IP位址。這種文字與數字之間的交換,很像檔案名稱與磁區編號之間的關係。

168.95.123.4     ←→       www.apple.com

非常好,您終於了解什麼是IP位址和DNS名稱伺服器,然而這還只是在連接Internet之前的皮毛而已!也許正因為如此,許多讀者非常想上Internet卻不得其門而入,想要輕輕鬆鬆快快樂樂遨遊Internet網際網路世界嗎,請期待“蘇學之”為您特別編寫與整理的「Internet奇妙世界」。

檔案命名規則

MS-DOS為檔案設計的名稱,分為「主檔名」和「副檔名」兩個部份。副檔名又稱為延伸檔名,用來表示檔案的類型。檔案名稱的規則是“主檔名.副檔名”,例如:

XXXXXXXX.XXX

主檔名,最多副檔名,最多可有8個字可有3個字元。
實際使用時就像底下這個樣子:

DRVSPACE BIN        71,287  11-07-95   0:00 DRVSPACE.BIN
COMMAND  COM        93,272  11-07-95   0:00 COMMAND.COM
FORMAT   COM        40,215  11-07-95   0:00 FORMAT.COM
SCANDISK EXE       134,985  11-07-95   0:00 SCANDISK.EXE
MOVIE          <DIR>        11-06-96  10:41 movie
APEX           <DIR>        11-06-96  10:41 apex
WINDOW~1       <DIR>        11-06-96  10:42 Windows 95
WORLDW~1       <DIR>        11-06-96  10:44 World Wide Web

DOS的檔案名稱結構,又稱為「8.3檔名」或「短檔名」。主檔名可以取1~8個字元(中文字4個字),副檔名則可以取1~3個字元,也可以沒有副檔名,而整個檔案名稱可以由A~Z、a~z、0~9以及幾個標點符號所組成,例如:

win95.doc       readme.txt       homeword.bmp
1234578.123     file(s).ok       char-5.cpp
brentsu.ppt     andy.wav         jacky.vcd
sony.nec        id4              internet
office.95       kodak.cd         photo.end

資料夾名稱的命名方式同檔案名稱,也是使用「8.3」這樣的名稱格式,只是一般資料夾都只取主檔名而不取副檔名。並不是資料夾沒有檔案類型,而是在MS-DOS底下資料夾取副檔名只會增加打開資料夾的困擾,特別是資料夾層次很多時。關於這點我們會在第4樂章加以說明。

在建立新的檔案、拷貝檔案、刪除檔案、搬移檔案時都需要使用檔案名稱,因此檔名應該愈貼切愈簡單愈好,才不致給自己找麻煩。MS-DOS會自動記錄檔案最近建立或修改的時間,我們只要用dir指令即可查到檔名、檔案大小、日期時間、長檔名等相關資訊。

取檔名的時候請特別留意底下幾件事:

・請不要使用空白字元或特殊符號,像是「:./\|<>」等DOS保留的特殊符號。記住不要使用冒號、句點、除號、反斜線、直線等特殊字元,總之儘量不要用標點符號就對了!

・由於檔名不區分英文字大小寫,也無法正確的辨識中文字,請儘量以一般英文字或數字做為檔案名稱。

在Windows 95和Windows NT底下的MS-DOS由於支援長檔名機制,檔案名稱不再受限於DOS的8.3格式,使用者可以取長達246個字元或123個中文字的超級長檔名,副檔名也不限制只能有3個字元,只要總檔名不超過255個字元即可,而且檔名之間可以使用空白鍵,也可以使用多個小數點。因此實際的檔案名稱就可以這樣取:

劉德華寫真集.DOC     我的第一份報告.PPT     學期期末測驗.考試
Software That Sells Itself.TXT          第 3 章:輕鬆學。

活用萬用字元 * 和 ? Wild Card

走訪圖書館,有時知道要找哪一本書,有時笨笨的小腦袋硬是忘記書名叫「%%的@@」還是「&&之##」。健忘的是,想打電話給某某人,卻依稀記得好像是「蘇XX」、「黃X棉」還是「XX華」,忘得更徹底「XXX」時,想在電腦找個自己也不太確定叫啥名字的檔案,要怎麼辨才好咧?

放心,人非聖賢,孰能“不忘”呢?體貼的DOS早就替你想到了!MS-DOS為檔名提供了兩個萬用字元 * 和 ? ,可用來表示表示某些籠統的檔案名稱:

 * :星號可代替0~8個任何的字元,但是 * 不能用在文字之前或中間,例如「 * 華.DOC」或「A*S.DOC」,只能用在文字之後,譬如「WIN*.TXT」。這是因為一個 * 就能代替許多字的緣故,所以 * 之後才不能使用任何文字。

 ? :問號可以代替0~1個任意的字元。要尋找中文檔名,請一次使用二個 ?? 問號。那是因為一個中文字是以二個英文字元及特殊符號所編碼而成。

底下是幾個常用的實例:

C:\>dir *.exe Enter        ← 列出所有的 .EXE執行檔
C:\>dir C*.* Enter         ← 列出檔名是C開頭的所有檔案
C:\>dir dos Enter          ← 列出主檔名是DOS的檔案或資料夾
C:\>dir ???mat.* Enter     ← 列出不明的 ???mat.* 檔案

活用DIR命令參數

MS-DOS 為DIR指令提供了一些彈性,如果列出的檔案和資料夾數目太多,可以加上 /P 選項(Pauses暫停的意思),告訴dir指令顯示滿一個畫面,就自動暫停,並顯示Press any key to continue... 等使用者隨意按一鍵後再繼續。例如:

C:\>dir dos /p Enter    ← 列出 DOS 資料夾內容並自動暫停顯示
   :      :     :             :      :      :
LOGO     SYS       129,078  11-08-95   0:00 LOGO.SYS
WIN32APP       <DIR>        10-16-96  12:17 Win32App
Press any key to continue . . .

(continuing C:\)       ← 繼續顯示 C:\ 磁碟的內容
CONFIG   WIN            10  10-17-96  16:06 config.win
CONFIG   SYS            10  10-17-96  16:06 CONFIG.SYS
   :      :     :             :      :      :
C:\>_

另一個常用的 /W 選項(Wide較寬的意思),可以告訴dir只列出「主檔名.副檔名」,省略檔案大小、建檔日期、修改時間、長檔名等資訊,這樣一列可以顯示5個檔名。例如:

A:\>dir /w Enter           ← 請輸入這個指令
 Volume in drive A is BRENT
 Volume Serial Number is 1EA4-1741
 Directory of A:\

drvspace.bin    format.com      command.com    edit.com     sys.com
attrib.exe      scandisk.exe    regedit.exe    fdisk.exe    scandisk.ini
       10 file(s)        616,844 bytes
                         588,288 bytes free

A:\>_

要是放在資料夾的檔案實在太多了,只用 /W也無法在一個畫面內顯示完畢,DIR也允許使用者同時使用 /P和 /W選項,比如dir /p/w Enter 或dir *.bmp /w/p Enter 等。

環境變數

MS-DOS 6.0版以後,為體貼User提供更好的DIR服務,我們可以把DIR常用選項預先設在DIRCMD變數裡,比方說:

C:\>set dircmd=/p Enter    ← 預先指定 DIR 的 /P 選項

如此一來,只要輸入dir Enter 就等於執行dir /p Enter 這個指令。這麼好用的功能,請記得放入AUTOEXEC.BAT開機檔。

指令語法:DIR [磁碟機:][路徑][檔名] [/P] [/W] [/A] [/O] [/S] [/B] [/L] [/V]

* /A:列出所有檔案或指定屬性的檔案。屬性字元有D,H,S,R, A五種,例如dir /ah可列出隱藏檔。

* /O:排序列出的檔案,排序方式有N,E,G,A,S,D幾種,例如dir /on可依主檔名排序,dir /oe可依副檔名排序。

* /S:列出指定資料夾及所有子資料夾的檔案。

* /B:以bare格式列出檔名及副檔名。

* /L:使用小寫英文字顯示檔案名稱。

* /V:以verbose模式詳細列出檔案資訊,以及這些檔案實際佔用硬碟磁區的大小。

* 中英文名詞對照

TYPE/典型,象徵,字體,血型,代表,成為…的典型,打字。

顯示檔案內容的TYPE

photoobjs59.jpg

DIR可以讓我們看到這部磁碟機存放了那些檔案和資料夾,不過如果只是想看一下下,某個文字檔案的內容而不作任何修改的話,就可以用TYPE 指令(DOS的內建命令),把檔案的內容直到印在螢幕上。TYPE指令的語法是:

指令語法:TYPE [磁碟機:][路徑]檔案名稱

比方說,我們想瞧瞧放在C:\ 磁碟底下的AUTOEXEC.BAT開機檔,檔案裡面寫些什麼東西,只要輸入底下的指令:

C:\>type autoexec.bat Enter    ← 請輸入這個指令
@ECHO OFF                    ← 以下是 AUTOEXEC.BAT 的內容
PROMPT $p$g
PATH C:\DOS
SET TEMP=C:\DOS
SET DIRCMD=/p /on
C:\>_

.BAT批次檔是屬於TEXT類型的文字檔,所以能用TYPE指令印出來看。您注意到了嗎?所謂批次檔其實就是集合DOS指令的文字檔,我們可以把許多希望一起執行的DOS指令,內建或外部指令均可,用EDIT文字編輯器(這是DOS的外部指令)寫在某個BATCH.BAT或AUTOEXEC.BAT的文字檔裡頭,再直接BATCH命令,就可以一次跑許多個DOS指令。

簡單的說,batch就像麵包店一次烘焙一整盤的麵包,可以讓我們一次就執行一組DOS指令,batch file批次檔可說是既簡單又便利的好工具。

當文字檔的內容很長,超過一個畫面的時候,TYPE會很快的將畫面往上捲動,要是希望每次只顯示一個畫面就自動暫停,我們可以在TYPE後面追加MORE指令(這是外部指令,檔名是MORE.COM)看清楚了再按 Enter 鍵繼續看下一頁:

C:\DOS>type readme.txt | more Enter     ← 會自動暫停的TYPE

在TYPE和MORE指令之間必須加上一個直線符號 | ,在鍵盤上直線 | 與反斜線 \ 是位於同一個按鍵。MS-DOS使用 | 直線符號來做為管線指令,這樣可以把TYPE指令的輸出資料傳送給另一個指令處理。我們會在第5樂章深入討論管線指令。

請試試底下的實例:

C:\>type c:\dos\readme.txt Enter    ← 列出 README.TXT文件
README.TXT

NOTES ON MS-DOS 6.22
====================
     :     :     :
MICROSOFT MS-DOS USER'S GUIDE or in MS-DOS Help.

This file is divided into the following major sections:

1. Setup
2. MemMaker, EMM386, and Memory Management
3. Windows
4. Hardware Compatibility with MS-DOS 6.22
5. Microsoft Backup, Defrag and Anti-Virus
6. Third-Party Programs
7. DriveSpace
:     :     :
computer when you replace OS/2 with MS-DOS 6.22.
-- More --    ← 還有更多的資料,目前先暫停顯示,請按 Enter 繼續

在Windows 95的MS-DOS視窗或是中文系統底下,TYPE也可以印出中文文件的內容。由於每個中文字是使用二個符號字元所組成,因此在英文環境或是DOS文字模式底下,直接TYPE中文文件,會看到一堆亂七八糟的符號,我們稱為亂碼。這都是因為中英文對文字內碼(內部的編碼)看法不同的關係。

因此在TYPE某個檔案時,卻看到一大堆奇怪的符號,別緊張!該檔案很可能是用中文寫的,這個時候,只要先「啟動中文系統」或是打開Windows 95的MS-DOS視窗,再 TYPE 一次文件就可以了。不過當檔案故障或損毀時,也可能會看到亂碼。
TYPE並不接受 * 和 ? 萬用字元,因此沒有辦法叫TYPE連續顯示一群檔案,比方說 *.BAT檔:

C:\>type *.bat Enter       ← 想要看所有的 *.BAT檔
Invalid filename or file not found

C:\>_

結果TYPE回應「無效的檔案名稱或是找不到檔案」,請改用type autoexec.bat之類的完整指令。

TYPE只能印出文字類型的檔案內容,要是用來TYPE其它型態的檔案,譬如 .EXE、.COM、.BMP等Binary二進位格式的執行檔或圖檔,將會印出一堆亂七八糟的亂碼,如果檔案含有嗶字元碼的話,甚至會使電腦亂叫個不停。因此執行底下的指令會發生一點問題:

C:\>type command.com Enter    ← 想印出DOS命令程式的內容
C:\DOS>type edit.com Enter    ← 想印出EDIT.COM執行檔的內容

Windows 95把所有的DOS指令都集中放在WINDOWS底下的COMMAND資料夾,而MS-DOS 6.22則是放在DOS資料夾,因此當您在學習DOS的時候,請記得在指定的檔案名稱前面加上“磁碟機:\路徑名稱”,以免找不到檔案:

C:\>type c:\dos\edit.com Enter              ← 使用MS-DOS 6.22
C:\>type c:\windows\command\edit.com Enter ← 使用Windows 95

蘇言霖 2013/09/24 0 2268
Comments
Order by: 
Per page:
 
  • There are no comments yet
Rate
0 votes
Post info
蘇言霖
「超級懶貓級」社群網站站長
2013/09/24 (3838 days ago)
Actions