我正在尝试创建一个脚本来检查存档的事件日志文件是否存在,如果存在任何文件,则将它们移动到另一个文件夹。运行此脚本不会执行任何操作,也不会出现任何错误。我相信 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
关于VBScript 使用通配符移动文件(如果存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20905889/