我正在尝试创建一个脚本,该脚本检查已存档的事件日志文件是否存在,如果有文件存在,请将其移至另一个文件夹。运行此脚本不会执行任何操作,也不会出错。我相信If语句中的通配符是给我的问题。我是vbscript和脚本编写的新手,希望能得到一些建议。
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists("d:\eventlogs\Archive*.evtx")) Then
FSO.CopyFile "d:\eventlogs\Archive*.evtx" , "d:\eventlogs\archive\"
FSO.Deletefile "d:\eventlogs\archive*.evtx"
End if
最佳答案
您可以通过组合使用instr()
和right()
或仅使用多个instr()
来复制通配符搜索。
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "d:\eventlogs\"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
if instr(objFile.Name,"Archive") <> 0 AND instr(objFile.Name,".evtx") <> 0 then
objFSO.MoveFile objFile.Name, "archive\" + objFile.Name
end if
Next