Post view

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

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

3.jpg

刪掉不要的檔案DEL

當dir的時候,磁片空間接近0 bytes free,就表示這張磁碟片快滿了。如果還想裝入更多的資料,可以試著丟掉一些“過時”不用的檔案或資料夾,以免磁碟機裝了太多的“垃圾”。

我們可以先用 DIR指令找出有那些不要的檔案,再用DEL刪除指令(內建命令,同ERASE)丟掉不要的檔案,以便空出更多的磁碟空間來裝新的檔案或新的軟體。不過,在DOS底下誤刪的資料是很難救回來的,使用DEL前務必「喝了再上」!

DEL指令的語法很簡單:

指令語法: DEL  檔案或資料夾 [/P]

要刪掉的東西可以是“檔案名稱”或“資料夾名稱”。被殺錯好人的話,可以再加上 /P選項,DEL會列出將要刪掉的檔名,並問你Delete (Y/N)? 究竟要不要刪掉這個檔案呢?

第一次試用DEL指令期間,請先找一張空白磁片或是製作一張資料磁片,再隨便拷貝幾個簡單的檔案到A: 磁片,這樣萬一誤刪了不相干的檔案,也不會心疼!

好,現在請跟著我一起做,請打開“MS-DOS模式”視窗:

del-1.png

然後輸入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:\>_

實際的執行畫面如下:

del-2.png

仔細瞧瞧你會發現,其實這個畫面和前一頁示範動作完全一樣,因為我們就是用MS-DOS模式視窗上的“ 標示”鈕選取要複製的文字,然後按“ 複製”鈕把文字貼到Word,再加上一些中文說明,如此而已。

不過說實在的,視窗畫面雖然真實感十足,到底沒有印刷文字清晰,而且可以加上中文說明,因此前面才沒有做這個示範,我想非必要,我們還是會把MS-DOS模式視窗畫面的「文字」抓下來,並加上中文註解。

Windows 95/97 有一個專門讓使用者扔掉不要垃圾的“資源回收筒"。當丟錯東西時,還可以到垃圾筒內找回重要的檔案。

photoobjs110.png

底下是幾個常用的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 列出所有屬性的檔案。

檔案搬家公司MOVE

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:\>_

至於如何使用資料夾,我們會在下一樂章與您討論。

檔案的屬性ATTRIB

photoobjs87.jpg

人,分為很多種:男人、女人、白種人、黃種人、黑種人、好人、壞人...。同樣的檔案也有一項附加的特性可供參考,我們叫做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。

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