使用VBScript如何实现在指定文件夹下,如何实现对其子文件下的文件也进行修改操作?
答案:1 悬赏:0
解决时间 2021-02-13 02:38
- 提问者网友:剪短发丝
- 2021-02-12 09:55
使用VBScript如何实现在指定文件夹下,如何实现对其子文件下的文件也进行修改操作?
最佳答案
- 二级知识专家网友:有钳、任性
- 2021-02-12 10:13
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Dim fld ' as object
dim path ' As string
path = fso.GetParentFolderName(WScript.ScriptFullName) '获取脚本所在文件夹字符串
Set fld=fso.GetFolder(path) '通过路径字符串获取文件夹对象
'-----------------------------------------
Dim file
Dim text
For Each file In fld.Files '遍历该文件夹对象下的所有文件对象
text = text & file.Name & vbCrLf
Next
MsgBox text
text=""
Dim subfld
For Each subfld In fld.SubFolders '遍历该文件夹对象下的子文件夹对象
text = text & subfld.Name & vbCrLf
Next
MsgBox text
'上面这段是个例子
'--------------------------------------------------------
'Call TreatSubFolder(fld) '调用该过程进行递归遍历该文件夹对象下的所有文件对象及子文件夹对象
Sub TreatSubFolder(fld) 'fld 是文件夹对象
'Dim fso
'Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Dim file '文件对象,可不是文本流对象
Dim ts '文本流对象
For Each file In fld.Files '遍历该文件夹对象下的所有文件对象
If LCase(fso.GetExtensionName(file.Name)) ="dat" Then
Set ts=file.OpenAsTextStream
'------------------
'这里对dat文件内容进行操作
'-----------------------
ts.Close
End if
Next
Dim subfld
For Each subfld In fld.SubFolders '递归遍历子文件夹对象
TreatSubFolder subfld
Next
'Set fso = nothing
End Sub
'这段我没测试。
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Dim fld ' as object
dim path ' As string
path = fso.GetParentFolderName(WScript.ScriptFullName) '获取脚本所在文件夹字符串
Set fld=fso.GetFolder(path) '通过路径字符串获取文件夹对象
'-----------------------------------------
Dim file
Dim text
For Each file In fld.Files '遍历该文件夹对象下的所有文件对象
text = text & file.Name & vbCrLf
Next
MsgBox text
text=""
Dim subfld
For Each subfld In fld.SubFolders '遍历该文件夹对象下的子文件夹对象
text = text & subfld.Name & vbCrLf
Next
MsgBox text
'上面这段是个例子
'--------------------------------------------------------
'Call TreatSubFolder(fld) '调用该过程进行递归遍历该文件夹对象下的所有文件对象及子文件夹对象
Sub TreatSubFolder(fld) 'fld 是文件夹对象
'Dim fso
'Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Dim file '文件对象,可不是文本流对象
Dim ts '文本流对象
For Each file In fld.Files '遍历该文件夹对象下的所有文件对象
If LCase(fso.GetExtensionName(file.Name)) ="dat" Then
Set ts=file.OpenAsTextStream
'------------------
'这里对dat文件内容进行操作
'-----------------------
ts.Close
End if
Next
Dim subfld
For Each subfld In fld.SubFolders '递归遍历子文件夹对象
TreatSubFolder subfld
Next
'Set fso = nothing
End Sub
'这段我没测试。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯