話說,昨天我將一個2XG的檔案夾壓縮,結果,大小設定錯誤,今天早上來看的時候,有八萬多個1KB的檔案,幾乎要癱瘓我的系統,不只是開啟慢,就連要Del掉也都會造成當機。

所以,我就拿出了神奇的cmd......
 

動作前教育

在Windows模式下如果有病毒的存在,通常都會是執行的狀態,如果可以關掉之後刪除,那當然是最好,但遇到那種死皮賴臉,綁死系統核心,啟動安全模式都沒辦法刪檔的情況怎麼辦?那就要藉助命令字元來刪除檔案啦!

1.要清楚知道檔案位置以及其檔案之副檔名
2.除非該檔案用視窗下的強制刪檔工具無效,否則請不要嘗試本教學(因你的所有動作皆無法復原,也不會有任何刪除提示)
3.你可以先嘗試先在視窗模式中的命令字元試刪除看看,如果不行的話再使用開機片啟動電腦進入實體DOS模式
4.當有不明白的指令都可以在後面加上/?來查詢

1.cd /d 磁區代號:資料夾名稱
這是切換目錄用的,可以方便尋找檔案位置並執行動作

範例:假設我要移動到C:\Windows,那我指令就要打

cd /d c:\windows

這樣DOS就會把目錄切換到Windows資料夾中了

2.cd..
回到上層目錄

3.dir/d
用"欄"的方式顯示該資料夾中的所有檔案

如果你的檔案加資料夾有一大堆,你可能要等一陣子看那一長串資料刷完,等到刷完之後,系統會告訴你,你看的這個資料夾內,有多少檔案、子資料夾,已經用了多少空間、還剩多少空間等資訊。

4.del 磁區代號:資料夾名稱檔案名稱
這是刪除一般檔案使用的刪除指令

範例:假設我要刪除Windows資料夾中的log.txt這個檔案,那我就要鍵入

del C:\Windows\log.txt

這樣log.txt這個檔案就會被刪除了。
如果你要刪除的檔案,是有部份名稱相同的檔案,就可以鍵入

del C:\Windows\log*.txt

你可能會有疑問,為什麼要用 * ,有副檔名是*的嗎等問題,會用*是因為我製作壓縮檔的時候,壓縮檔的檔案名稱除了photo.是相同的,其他都不同,如果我要一個一個檔案刪除的話,我要刪除八萬多次,但我用了萬用字元 * ,我只要刪除一次,就可以直接把全部都刪除。

5.del/f
這是強迫刪除唯讀檔的指令,如果遇到檔案無法刪除的狀況下,使用這個指令便可以強制刪除該檔案,但使用此指令有一定的風險

範例:假設我要刪除Windows資料夾中的system.tmp這個檔案,那我就要鍵入

del/f C:\Windows\system.tmp

這樣system.tmp這個檔案就會被刪除了

6.replace 檔案所在磁區代號:資料夾名稱檔案名稱 檔案目的磁區代號:資料夾名稱
這是用來複製檔案的指令,當病毒綁死系統核心檔案,需要從其他電腦複製相同檔案過來時,就可以使用此指令

範例:假設我要複製C:\Windows\explorer.exe這個檔案從我的磁片到我的電腦,那就要鍵入

replace A:\explorer.exe C:\Windows

這樣就可以完成複製檔案。 如果要覆蓋唯讀檔案的話,可以在指令後面加上/r參數

7.md 磁區代號:資料夾名稱想要建立的資料夾名稱
建立新資料夾的指令

範例:假設我要在C:\Windows中建立一個叫做new的資料夾,那我就要鍵入

md C:\Windows\new

資料夾就會建立了。

8.rd/s 磁區代號:資料夾名稱想要刪除的資料夾名稱
刪除資料夾(包含裡面所有的檔案)的指令

範例:假設我要在C:\Windows中刪除一個叫做new的資料夾以及裡面所有檔案,那我就要鍵入

rd/s C:\Windows\new

資料夾就會刪除了。

 
另外,如果要大量刪除隱藏的資料夾,有兩個方法可以讓大家參考一下。

方法一:

由於要刪除的是隱藏的資料夾,Del指令就不能用了。因此首先要取得要刪除的檔案有哪些,步驟如下:

1. 執行「cmd」指令到命令列模式,並切換目錄到Windows目錄下。

cd /d c:\windows

2. 然後將dir的結果,轉存到D 磁碟新建的A1.txt 文字檔裡。指令是

DIR /a:h $*.* | FIND "$" > D:\A1.txt

3. 打開 A1.txt的內容所列的就是要刪除的$字號開頭的隱藏資料夾。

如果要刪除這些資料夾,一定要先解除隱藏屬性,才能處理。要解除資料夾隱藏屬性,可以下指令

Attrib $*.* -H /s /d

另外也可以用檔案總管的「資料夾選項」、「檢視」選項,將隱藏檔案與資料夾的設定改成顯示。之後再刪除指定的資料夾即可。

 

方法二:

將下列程式碼存成副檔名為「.vbs」的檔案,再用檔案總管雙擊即可執行。建立執行過程中需要用到的一些變數

Dim fso, oFld, oSubFlds, oSubFld

'建立 FileSystemObject 物件

Set fso = CreateObject("Scripting.FileSystemObject")

'傳回對應到指定路徑中資料夾的 Folder 物件,請自行改為 C:\Windows

Set oFld = fso.GetFolder("D:\Test")

'傳回Folder物件的子目錄集合,其中包含設定隱藏和系統檔案屬性的資料夾

Set oSubFlds = oFld.SubFolders

'逐一取出子目錄集合內的子目錄

For Each oSubFld in oSubFlds

'比較子目錄第一個字元為$

If Left(oSubFld.name,1) = "$" Then

'變更目錄屬性為一般

oSubFld.attributes = 0

'逐一取出子目錄內的檔案

For each oFile in oSubFld.files

'變更檔案屬性為一般

oFile.attributes = 0

Next

'刪除子目錄

fso.DeleteFolder(oSubFld)

End If

Next

 

文章來源:

CodeCharge TAIWAN 首頁 -> Windows -> 基本的cmd 指令

iThome Online -> 如何大量刪除隱藏資料夾?

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 Joy 的頭像
    Joy

    正Man's World

    Joy 發表在 痞客邦 留言(1) 人氣()