VBScript 使用通配符移动文件(如果存在)

标签 vbscript wildcard file-exists

我正在尝试创建一个脚本来检查存档的事件日志文件是否存在,如果存在任何文件,则将它们移动到另一个文件夹。运行此脚本不会执行任何操作,也不会出现任何错误。我相信 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/

相关文章:

java - Java 6 是否支持 VB?

string - 反斜杠问题,更改桌面快捷方式目标路径时的引号

java - Java泛型方法返回类型中的上界和下界通配符

batch-file - 使用批处理文件复制目录路径中带有通配符的文件?

php - file_exists() 或 is_readable()

vbscript - 是什么导致 Outlook 2007 提示 "A program is trying to send an e-mail message on your behalf?"

python - 手动创建的snakemake通配符未使用/识别

hadoop - 检查表是否存在并将数据加载到Hbase和HIve表中

PHP:检查图像是否存在(方法)

winforms - 如何通过 VBS 将变量从一个 PS 脚本传递到另一个 PS 脚本?