當dir的時候,磁片空間接近0 bytes free,就表示這張磁碟片快滿了。如果還想裝入更多的資料,可以試著丟掉一些“過時”不用的檔案或資料夾,以免磁碟機裝了太多的“垃圾”。
我們可以先用 DIR指令找出有那些不要的檔案,再用DEL刪除指令(內建命令,同ERASE)丟掉不要的檔案,以便空出更多的磁碟空間來裝新的檔案或新的軟體。不過,在DOS底下誤刪的資料是很難救回來的,使用DEL前務必「喝了再上」!
DEL指令的語法很簡單:
指令語法: DEL 檔案或資料夾 [/P]
要刪掉的東西可以是“檔案名稱”或“資料夾名稱”。被殺錯好人的話,可以再加上 /P選項,DEL會列出將要刪掉的檔名,並問你Delete (Y/N)? 究竟要不要刪掉這個檔案呢?
第一次試用DEL指令期間,請先找一張空白磁片或是製作一張資料磁片,再隨便拷貝幾個簡單的檔案到A: 磁片,這樣萬一誤刪了不相干的檔案,也不會心疼!
好,現在請跟著我一起做,請打開“MS-DOS模式”視窗:
然後輸入a: Enter 和dir Enter 或是dir a: Enter 查看一下磁片裡頭有那些檔案:
C:\WINDOWS>a: Enter ← 刪除檔案前一定要先切換到所在的磁碟機
A:\>dir Enter ← 查看磁片的內容
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
AUTOEXEC BAT 110 11-23-96 1:55 AUTOEXEC.BAT
1 file(s) 110 bytes
0 dir(s) 1,457,152 bytes free
A:\>del autoexec.bat Enter ← 刪掉autoexec.bat檔案
A:\>dir Enter ← 再次確認磁片內容
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
File not found
1,457,664 bytes free
A:\>_
實際的執行畫面如下:
仔細瞧瞧你會發現,其實這個畫面和前一頁示範動作完全一樣,因為我們就是用MS-DOS模式視窗上的“ 標示”鈕選取要複製的文字,然後按“ 複製”鈕把文字貼到Word,再加上一些中文說明,如此而已。
不過說實在的,視窗畫面雖然真實感十足,到底沒有印刷文字清晰,而且可以加上中文說明,因此前面才沒有做這個示範,我想非必要,我們還是會把MS-DOS模式視窗畫面的「文字」抓下來,並加上中文註解。
Windows 95/97 有一個專門讓使用者扔掉不要垃圾的“資源回收筒"。當丟錯東西時,還可以到垃圾筒內找回重要的檔案。
底下是幾個常用的DEL使用實例,請參考之(不一定要跟著做以免誤刪了重要檔案):
・刪掉根目錄底下的AUTOEXEC.BAT檔:
A:\>del autoexec.bat Enter
・刪除所有的 .TXT檔:
A:\>del *.txt Enter
・刪掉PE目錄的整個PE2軟體:
A:\PE>del pe2.* Enter ← 可用這個指令或底下的指令
A:\>del pe Enter ← 刪掉PE目錄所有的檔案
・刪掉系統組態檔CONFIG.SYS:
C:\>del config.sys /p Enter
C:\CONFIG.SYS, Delete (Y/N)?y
・刪掉目前資料夾的所有檔案:
C:\GAME>del . Enter ← 也可以用 del *.*
All files in directory will be deleted!
Are you sure (Y/N)?y Enter ← 確定要刪掉嗎?是的!
在這個資料夾(目錄)的所有檔案統統會被刪掉!你真的確定要刪掉嗎?哦,Yes統統殺掉吧!
DEL指令最大的缺點是:除非指定“del *.*”、“del .”或是“del 資料夾”才會警告是否真的統統刪掉?一般的del指令則是悶不吭聲地直接殺掉檔案!特別是誤下del *.exe之類的刪除指令,即使磁碟有幾十個 .EXE程式檔,也會一律刪掉。
當使用者在DEL指令使用 * 或 ? 萬用字元時,由於DEL不會提出適當的警告,導致許多使用者時常誤刪檔案。關於這點,MS-DOS 到6.22甚至是Windows 95的DOS 7.0也都是如此,從未改變。解決之道是關掉del和erase指令。
不小心刪錯了檔案再想辦法救回,自然不是什麼好玩的遊戲!最好的辦法是把重要的檔案加上僅讀屬性,鎖起來禁止被DEL指令刪掉!比方講,要保護所有的 .BAT檔,只要輸入:
C:\>attrib +r *.bat Enter ← 保護所有的批次檔
就能保護磁碟機底下全部的批次檔。要保護整部磁碟機的所有檔案,請用這樣的指令:
C:\>attrib +r *.* /s Enter ← 保護整部磁碟機所有的檔案
當使用者想要刪掉某個批次檔的時候,就會看到Access denied拒絕存取,這樣的錯誤訊息。例如:
C:\>del autoexec.bat Enter ← 試著刪掉保護中的檔案
Access denied ← 對不起,禁止刪除!
C:\>_
要把檔案藏起來的話,可用這樣的指令:
attrib +h *.bat Enter
attrib -h *.bat Enter
+h 和-h 可以設定檔案的 隱藏屬性。我們可以用 dir /a Enter 列出所有屬性的檔案。
MS-DOS 6.x起提供的MOVE指令(外部命令)可以輕輕鬆鬆的搬移一堆檔案。有時候我們會希望把一個或一群檔案,搬到另一個資料夾或磁碟機,以前必須用copy和del兩個指令相互搭配才能做到,先把檔案複製到目的位置,再刪掉原先的檔案。
現在只要用MOVE即可,而且不會有下錯del指令,誤刪了其他檔案的麻煩!MOVE的用法和COPY指令很類似:
指令語法: MOVE 來源檔案 目的位置
Move會把來源檔案搬到指定的位置,如果目的位置已經有相同的檔案名稱,則會問您是否要蓋掉舊的檔案。要注意的是Move不能像Copy那樣省略目的位置。
比方說我們想把磁片的所有 .BAT檔搬到C:\磁碟機的Msdos資料夾,可以這麼做:
A:\>dir Enter ← 記得先檢查一下磁片的內容
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
MSDOS BAT 184 10-26-96 16:38 msdos.bat
AUTOEXEC BAT 110 11-23-96 1:55 AUTOEXEC.BAT
2 file(s) 294 bytes
0 dir(s) 1,456,640 bytes free
A:\>move *.bat c:\msdos Enter ← 把a: 磁碟機的檔案搬到c:
A:\msdos.bat => C:\msdos\msdos.bat [ok]
A:\AUTOEXEC.BAT => C:\msdos\AUTOEXEC.BAT [ok]
A:\>dir Enter ← 再確認一次檔案是否真的搬走了
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
File not found
1,457,664 bytes free
A:\>dir c:\msdos\*.bat Enter ← 檢查檔案有沒有搬到C:\Msdos
Volume in drive C is BRENT
Volume Serial Number is 3148-11D9
Directory of C:\Msdos
MSDOS BAT 184 10-26-96 16:38 msdos.bat
AUTOEXEC BAT 110 11-23-96 1:55 AUTOEXEC.BAT
2 file(s) 294 bytes
0 dir(s) 262,619,136 bytes free
A:\>_
要是搬移的目的位置有相同的檔名,就會問你是否要Overwrite覆蓋掉目的檔案,譬如:
A:\>move *.bat c:\msdos Enter
Overwrite C:\msdos\msdos.bat (Yes/No/All)?y Enter
A:\msdos.bat => C:\msdos\msdos.bat [Unable to delete destination]
Overwrite C:\msdos\AUTOEXEC.BAT (Yes/No/All)?y Enter
A:\AUTOEXEC.BAT => C:\msdos\AUTOEXEC.BAT [ok]
A:\>_
當Move詢問Overwrite C:\msdos.bat (Yes/No/All)? 的時候,我們可以選擇Yes,只蓋掉這個檔案,或是選擇No,不要蓋掉這個檔案,或是選擇All(輸入A即可)直接蓋掉所有同名的檔案,以後不再問 (Yes/No/All)?。
要注意的是,要是目的位置的檔案已經用唯讀屬性加以保護,就會看到“[Unable to delete destination]”無法刪掉目的檔案的錯誤訊息,而不是“[ok]”。
底下是幾個常用的MOVE實例:
・把C:\ 磁碟機底下AUTO.BAT搬到C:\DOS目錄:
C:\>move auto.bat c:\dos Enter
・把現在資料夾的所有 *.TXT檔搬到A:\ 磁碟機:
C:\BRENT>move *.bat a:\ Enter
・同時搬DOS資料夾的 *.TXT和 *.INI檔到c:\brent目錄。若同時指定多個來源檔時,各檔案間要以逗號 , 隔開:
C:\DOS>move *.txt, *.ini c:\brent Enter
・把目前資料夾所有 *.DOC檔,搬到 A: 磁碟機:
C:\DOS>move *.doc a: Enter
・把A:\ 磁碟機所有的 .BMP檔案搬到目前的資料夾:
C:\BRENT>move a:\*.bmp . Enter
要把某些檔案搬到現在的資料夾,例如C:\BRENT,必須用一個句點 “ . ”來表示搬移的目的位置,就是目前的所在位置,不能只輸入move a:\*.bmp Enter 。
MOVE可以像COPY一樣追加 /Y參數,告訴MOVE指令在搬移檔案時直接建立所需的資料夾或蓋掉舊的檔案。比如底下的例子可以把所有的 *.BAT檔搬到 A: 磁碟的 brent目錄(這個例子不能只搬移一個 .BAT檔):
C:\>move /y *.bat a:\brent Enter
在MS-DOS 6.xx時代,REN指令只能用來更換「檔案名稱」,如果需要更換“目錄名稱”,只好請MOVE指令來幫忙:
指令語法: MOVE 舊的名字 新的名字
比如說,想要把brent改成winnie,可以這麼做:
A:\>md brent Enter ← 建立一個新的資料夾
A:\>dir Enter ← 檢查是不是有一個叫做BRENT的 <DIR>
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
MSDOS BAT 184 10-26-96 16:38 msdos.bat
BRENT <DIR> 12-24-96 17:25 brent
1 file(s) 184 bytes
1 dir(s) 1,456,640 bytes free
A:\>move brent winnie Enter ← 把資料夾名稱換成winnie
A:\brent => A:\winnie [ok] ← 換好了!
A:\>dir Enter ← 再DIR檢查看看
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
MSDOS BAT 184 10-26-96 16:38 msdos.bat
WINNIE <DIR> 12-24-96 17:25 winnie
1 file(s) 184 bytes
1 dir(s) 1,456,640 bytes free
A:\>_
在MS-DOS 7.x就不必這麼麻煩了,我們只要靠一個REN指令就可以用來更換“檔案名稱”或“資料夾名稱”:
指令語法: REN 舊名字 新名字
A:\>ren winnie andy Enter ← 把winnie再換成andy
A:\>dir Enter ← 再DIR瞧瞧
Volume in drive A is BRENT SU
Volume Serial Number is 08DF-213C
Directory of A:\
MSDOS BAT 184 10-26-96 16:38 msdos.bat
ANDY <DIR> 12-24-96 17:25 andy
1 file(s) 184 bytes
1 dir(s) 1,456,640 bytes free
A:\>_
至於如何使用資料夾,我們會在下一樂章與您討論。
人,分為很多種:男人、女人、白種人、黃種人、黑種人、好人、壞人...。同樣的檔案也有一項附加的特性可供參考,我們叫做Attribute「檔案屬性」來標示檔案性別:
・備份屬性A:指示該檔案是否做過備份的工作。
+A|-A +A:設定為未備份屬性
-A:設定為已備份屬性
・唯讀屬性R:指示該檔案不可以寫入資料,只供讀取。
+R|-R +R :設定為唯讀屬性
-R :取消唯讀屬性
・系統屬性S:指示該檔案為作業系統檔案。
+S|-S +S:設定為系統屬性
-A:取消系統屬性
・隱藏屬性H:指示該檔案是否要被dir列出。
+H|-H +H:設定為隱藏屬性
-H:取消隱藏屬性
指令語法: ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [filename] [/S]
我們可以用MS-DOS提供的ATTRIB指令(外部命令)來顯示或設定檔案的屬性。顯示檔案屬性的方法很簡單,就像是使用dir指令似的,比方說:
C:\>attrib Enter ← 也可以輸入attrib *.* Enter
A SHR IO.DOS C:\IO.DOS
A SHR MSDOS.DOS C:\MSDOS.DOS
A COMMAND.DOS C:\COMMAND.DOS
A AUTOEXEC.BAT C:\AUTOEXEC.BAT
R COMMAND.COM C:\COMMAND.COM
HR SUHDLOG.DAT C:\SUHDLOG.DAT
H MSDOS.--- C:\MSDOS.---
A H SETUPLOG.TXT C:\SETUPLOG.TXT
A CONFIG.BAK C:\CONFIG.BAK
A SH DETLOG.TXT C:\DETLOG.TXT
: : : :
C:\>_
自動執行的AUTOEXEC.BAT批次檔目前只有備份屬性,如果希望加上“保護檔案”的唯讀屬性,只要輸入:
C:\>attrib +r autoexec.bat Enter ← 加上僅讀屬性
C:\>attrib autoexec.bat Enter ← 顯示檔案屬性
A R C:\AUTOEXEC.BAT ← 具有備份與唯讀屬性
C:\>_
在ATTRIB後面指定 +R表示要加上唯讀屬性,禁止檔案內容被變更、刪除或覆蓋。-R可以去除檔案的唯讀屬性。同理,指定 +A或 -A可設定或去除備份屬性,+S或 -S可設定或清除系統屬性,+H或 -H可設定或取消隱藏屬性。不同的屬性可以同時使用,比如attrib +s +h +r *.sys Enter。