amel27, Спасибо, добавил указанное условие и удалил вначале строчку sFldr = Wscript.Arguments.Item(0), чтобы не указывать диск самому, но ничего не происходит. Скрипт выполняется без ошибок, но никаких действий нет, я так понял из-за того, что не заменили переменную sFldr в остальных местах.
В указанном условии:
Код:

For Each objDrive In objFSO.Drives
If objDrive.DriveType=2 And objDrive.IsReady Then
ClearDir objDrive.DriveLetter, cInclFiles, cExclFolders
End if
Next
Мы заменили переменную sFldr на objDrive.DriveLetter:
Код:

было:
ClearDir sFldr, cInclFiles, cExclFolders
стало:
ClearDir objDrive.DriveLetter, cInclFiles, cExclFolders
Но в самой функции Sub ClearDir переменная sFldr осталась. я попытался заменить по аналогии на objDrive.DriveLetter, но результата так же не было, может я чего упустил, вот что получилось в итоге:
Код:

Dim objDrive
cInclFiles = Array( _
"\\~\$[^\\]+$", _
"\.(TXT|MP3)$")
cExclFolders = Array( _
"^.:\\Documents and Settings$", _
"^.:\\Program Files$", _
"^.:\\System Volume Information$", _
"^.:\\WINDOWS$" )
RegExpComp cInclFiles
RegExpComp cExclFolders
Set objFSO = CreateObject("Scripting.FileSystemObject")
For Each objDrive In objFSO.Drives
If objDrive.DriveType=2 And objDrive.IsReady Then
ClearDir objDrive.DriveLetter, cInclFiles, cExclFolders
End if
Next
Sub ClearDir(objDrive.DriveLetter, cIncl, cExcl)
On Error Resume Next
Dim oD, cF, cD, oI, iR
For iR=0 To UBound(cExcl)
If cExcl(iR).Test(objDrive.DriveLetter) Then Exit Sub
Next
Set oD = objFSO.GetFolder(objDrive.DriveLetter)
Set cF = oD.Files
Set cD = oD.SubFolders
For Each oI In cF
For iR=0 To UBound(cIncl)
If cIncl(iR).Test(oI.Path) Then
WScript.Echo "File : " & oI.Path
oI.Attributes = 0
oI.Delete
Exit For
End If
Next
Next
For Each oI In cD
ClearDir oI.Path, cIncl, cExcl
Next
If oD.Size >0 Then Exit Sub
WScript.Echo "Folder: " & oD.Path
oD.Attributes = 0
oD.Delete
End Sub
Sub RegExpComp(aReg)
Dim iReg, sReg
For iReg=0 To UBound(aReg)
sReg = aReg(iReg)
Set aReg(iReg) = CreateObject("VBScript.RegExp")
aReg(iReg).Pattern = sReg
aReg(iReg).IgnoreCase = True
Next
End Sub