VBS腳本:刪除擴展名不是*.h、*.c、*.cpp的所有文件

用VC6.0寫了好多代碼,編譯事後生成了不少不想要的文件。因而我寫了下面這個腳本,只把裏面的代碼文件留下bash

腳本編寫的思想以下:ui

先進行輸入合法性檢查spa

腳本使用例程CleanFolder遍歷一個文件夾命令行

1)使用CleanFolder遞歸遍歷該文件夾下的全部子文件夾code

2)若是該子文件夾的大小爲0,則刪除這個文件夾遞歸

3)遍歷該文件夾下的全部文件,擴展名不是 *.h *.c *.cpp,則刪除該文件ip

'腳本用途:遍歷一個文件夾,執行下列操做
'1)若是一個文件不屬於 *.c *.cpp *.h 類型則刪除
'2)若是一個子文件夾中沒有文件,則刪除該文件夾
'輸入參數:Argument(0) 被檢查文件夾地址

Option Explicit

'檢查輸入參數是否合法
Dim FolderAddress
If WScript.Arguments.Count <> 1 Then
    WScript.Echo "參數輸入錯誤!請輸入要遍歷的文件夾地址。"
    WScript.Quit
Else
    FolderAddress = WScript.Arguments(0)
    WScript.Echo "準備遍歷文件夾:"  & FolderAddress
End If 

Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")

'考察文件夾是否存在
If Not FSO.FolderExists(FolderAddress) Then 
    WScript.Echo "文件夾非法!請檢查是否有拼寫錯誤。"
    WScript.Quit
End If 

CleanFolder FolderAddress

'例程:遞歸刪除一個文件夾內不符合規格的文件和文件夾
Sub CleanFolder(Folder)

    WScript.Echo "開始遍歷文件夾:" & FolderAddress

    Dim SubFolder, File
    '檢查全部子文件夾
    For Each SubFolder In FSO.GetFolder(Folder).SubFolders
        WScript.Echo "發現文件夾:" & SubFolder
        CleanFolder SubFolder
        '若是文件夾爲空,則刪除該文件夾
        If FSO.GetFolder(SubFolder).Size = 0 Then
            WScript.Echo "刪除空文件夾:" & SubFolder
            FSO.DeleteFolder(SubFolder)
        End If 
    Next
    '刪除全部文件
    For Each File In FSO.GetFolder(Folder).Files
        WScript.Echo "發現文件:" & File
        '在這裏指定要保留的文件擴展名,不屬於該擴展名的文件將被刪除
        If UCase(FSO.GetExtensionName(File.Name)) <> "H" _
        And UCase(FSO.GetExtensionName(File.Name)) <> "C" _
        And UCase(FSO.GetExtensionName(File.Name)) <> "CPP" Then
            WScript.Echo "刪除文件:" & File
            FSO.DeleteFile(File)
        End If 
    Next
    
End Sub

調用本腳本,能夠在命令行中輸入下面的命令運行ci

cscript 腳本地址 待檢查文件夾地址 //nologo

ENDit

相關文章
相關標籤/搜索