我有一个vb脚本文件 - main.vbs。其内容如下:
Set fileSystemObject = CreateObject("Scripting.FileSystemObject")
If fileSystemObject.FileExists("D:\a\source.doc") Then
fileSystemObject.CopyFile "D:\b\template.doc", "D:\c\source.doc"
fileSystemObject.MoveFile "D:\a\source.doc" , "D:\d\"
End If
这个脚本的作用是:它检查文件夹'D:\ a'中是否存在名为'source.doc'的文件。如果是,那么脚本,
(i)复制文件'd:\ b'中保存的'template.doc'文件 (ii)将'template.doc'重命名为'source.doc' (iii)并将此重命名的文件移动到文件夹'D:\ c'。 (iv)并将文件'source.doc'从'D:\ a'移动到'D:\ d'
脚本运行正常。但我希望脚本应该在文件名'source'变化时运行(但扩展名为.doc)。
文件名'template.doc'保持不变。
我该怎么做?
答案 0 :(得分:0)
这更像是dir使用FSO对象。对名称进行测试以决定是否处理它。 fso.copyfile
与使用集合和thing.copy
循环的For Each
相同。
'On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Dirname = InputBox("Enter Dir name")
ProcessFolder DirName
Sub ProcessFolder(FolderPath)
' On Error Resume Next
Set fldr = fso.GetFolder(FolderPath)
Set Fls = fldr.files
For Each thing in Fls
msgbox Thing.Name & " " & Thing.DateLastModified
Next
'Uncomment below lines to do sub folders
' Set fldrs = fldr.subfolders
' For Each thing in fldrs
' ProcessFolder thing.path
' Next
End Sub