Dim i,one
ReDim arrAll(LngN) '存放文件及文件夹的信息
For Each one In Objpath.Files
i = i + 1
arrAll(i) = one.Name '每个数组元素存放一个文件的名字
Next
For Each one In Objpath.SubFolders
i = i + 1
arrAll(i) = one.Name '每个数组元素存放一个文件夹的名字
Next
Dim m,a
For m=1 To Objpath.Files.Count
a = a & m & ". File:" & arrAll(m) & vbLf & vbLf '将文件信息转入一个变量中
Next
Set Objpath = Nothing
For m = m To LngN
a = a & m & ". Folder:" & arrAll(m) & vbLf & vbLf '将文件夹信息转入一个变量中
Next
Dim strtarget,strTmp,str
strtarget = InputBox ("请输入你想要更改属性的文件的序号,可以输入多个,以"".""结束(如1.2.)" _
& vbLf & vbLf & a,"提示")
If strtarget <> "" And Len(strtarget) <> 1 Then
For i = 1 To Len(strtarget)
strTmp = Mid(strtarget,i,1) '逐个读取字符窜
If strTmp = "." Then '如果是点则读取之前字符所组成的数字
str = CLng(str) '将字符串强制转换成数字
If str >= 1 And str <= LngN Then
call FindF
Else '不再范围内则提示错误
EntErr
End If
Else '不是点则将读取的数据合并成一个新的字符串,遇到点后转换
If strTmp <> "." And IsNumeric(strTmp) Then
str = str & strTmp
Else '字符串不是数字则提示错误
EntErr
End If
End If
Next
Else '字符串为空则提示错误
EntErr
End If
Flush
Else
EntErr '不再范围内则提示错误
End If
Sub FindF
Dim ObjF,ObjFSO
Set ObjFSO = CreateObject("Scripting.FileSystemObject")
If ObjFSO.FileExists(arrAll(str)) = True Then '查找文件
Set ObjF = ObjFSO.GetFile(arrAll(str))
call ChangeAtt(ObjF)
str = Empty
Set ObjF = Nothing
Else
If ObjFSO.FolderExists(arrAll(str)) = True Then '查找文件夹
Set ObjF = ObjFSO.GetFolder(arrAll(str))
call ChangeAtt(ObjF)
str = Empty
Set ObjF = Nothing
Else '如果都不存在则提示并退出
MsgBox "不存在该文件或文件夹",64,"提示"
WScript.Quit
End If
End If
Set ObjFSO = Nothing
End Sub
Sub ChangeAtt(ObjF) '更改属性
With ObjF
Select Case (LngAttrib)
Case 1:.Attributes = Normal
Case 2:.Attributes = OnlyRead
Case 3:.Attributes = Hidden
Case 4:.Attributes = System
Case 5:.Attributes = OnlyRead + Hidden
Case 6:.Attributes = OnlyRead + System
Case 7:.Attributes = Hidden + System
Case 8:.Attributes = OnlyRead + Hidden + System
End Select
End With
End Sub
Sub Flush
Wscript.Sleep 100 '暂停
Dim ws
set ws=wscript.createobject("wscript.shell")
ws.SendKeys("{F5}") '刷新
Set ws = Nothing
End Sub
Sub EntErr '错误提示
MsgBox "请输入有效字符",64,"提示"
WScript.Quit
End Sub
这是我这两个星期学期VBS的研究成果之一,呵呵,其实只是把书上讲的属性、方法简单的用了一下,希望对那些学习VBS的人也会有帮助把,纯属娱乐