如何大量刪除隱藏資料夾?
到iT邦幫忙

garenett(IT邦初學者10級)發問:
如何批次刪除「C:\WINDOWS」底下所有$字號開頭的隱藏資料夾?

pankt(IT邦初學者8級):
由於要刪除的是隱藏的資料夾,Del指令就不能用了。因此首先要取得要刪除的檔案有哪些,步驟如下:

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

2. 執行「DIR /a:h $*.* | FIND "$" > D:\A1.txt」,這段指令的意思是將dir的結果,轉存到D 磁碟新建的A1.txt 文字檔裡。

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

如果要刪除這些資料夾,一定要先解除隱藏屬性,才能處理。要解除可以執行「Attrib $*.* -H /s /d」。

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

jsperng(IT邦初學者6級):
將下列程式碼存成副檔名為「.vbs」的檔案,再用檔案總管雙擊即可執行。

'建立執行過程中需要用到的一些變數

1:Dim fso, oFld, oSubFlds, oSubFld
'建立 FileSystemObject 物件

2:Set fso = CreateObject("Scripting.FileSystemObject")
'傳回對應到指定路徑中資料夾的 Folder 物件,請自行改為 C:\Windows

3:Set oFld = fso.GetFolder("D:\Test")
'傳回Folder物件的子目錄集合,其中包含設定隱藏和系統檔案屬性的資料夾

4:Set oSubFlds = oFld.SubFolders
'逐一取出子目錄集合內的子目錄

5:For Each oSubFld in oSubFlds
'比較子目錄第一個字元為$

6:If Left(oSubFld.name,1) = "$" Then
'變更目錄屬性為一般

7:oSubFld.attributes = 0
'逐一取出子目錄內的檔案

8:For each oFile in oSubFld.files
'變更檔案屬性為一般

9:oFile.attributes = 0

10:Next
'刪除子目錄

11:fso.DeleteFolder(oSubFld)

12:End If

13:Next

(原作者程式碼因排版緣故略作調整,行號及「:」符號為編輯所加,如要執行該程式請先移除)

熱門新聞

Advertisement