我试图在复制文件之前检查目录中是否存在某些文件。 对于始终相同的文件,我使用的是FileExists方法。我遇到的问题是我每天要查找的文件中有两个,例如PTmmddyy。 我知道FileExists不接受通配符。还有其他方法吗? 我在这方面相当新手,尝试使用Dir和Len命令没有运气以及IO.Directory.GetFiles没有运气。
鉴于一些意见,我对WMI进行了一些挖掘,这远远超出了我的想法。我想我已经知道它应该如何工作但仍然会出错。我已修改了下面的代码,现在我在If chkpt.Count>上收到错误0行,但它指定了错误查询。我看过,无法弄清楚ExecQuery的问题是什么
Set fso=CreateObject("Scripting.FileSystemObject")
Const ForReading=1, ForWriting=2, ForAppending=8
'--------------------------------------------
'Checking for existing transaction files
Dim targetdir
targetdir = "\\pet-sagesql\f$\v2016\Sage100P\MAS90\MAS_PCS\clpcs\"
'Checking to see if there are any files already available to process
Dim chkloc
Set chkloc = CreateObject("Scripting.FileSystemObject")
If chkloc.FileExists(targetdir & "Locbill.csv") Then
Wscript.Echo "Sorry, there is already a Locbill file to process"
Wscript.Quit
End If
targetcp = "pet-sagesql"
Set objWMIService = GetObject("winmgmts:\\" & targetcp & "\root\cimv2")
Set chkpt = objWMIService.ExecQuery("Select * From CIM_Datafile Where _
FileName LIKE ‘f:\\v2016\\Sage100p\\MAS90\\MAS_PCS\\CLPCS\\PT%'")
If chkpt.Count > 0 Then
Wscript.Echo "Sorry, there is already a PT file to process"
Wscript.Quit
End If