0

嗨,我无法获得下面的脚本来获取文件的扩展名,任何人都可以通过指出我出错的地方来帮助我吗?

dim fileSystem, folder, file 
dim path
dim count : count = 0
path = "C:\temp" 

Set fileSystem = CreateObject("Scripting.FileSystemObject") 
Set folder = fileSystem.GetFolder(path)

for each file in folder.Files     
    if file.DateLastModified > dateadd("h", -24, Now) & File.name = "txt" then 

count = count + 1

end if
Next

if count < 4 then

Set WshShell = WScript.CreateObject("WScript.Shell")
strcommand = "eventcreate /T ERROR /ID 666 /L Application /SO BESROffsite /D " & _  
Chr(34) & count & " Files found please check offsite copy " & Chr(34)  
WshShell.Run strcommand
wScript.Quit ( 1001 )

Else

Set WshShell = WScript.CreateObject("WScript.Shell")
strcommand = "eventcreate /T Information /ID 666 /L Application /SO BESROffsite /D " & _  
Chr(34) & count & " Files found offsite is working fine " & Chr(34)  
WshShell.Run strcommand
wScript.Quit ( 0 )
End if
4

2 回答 2

2

File.name是包含扩展名的全名,用于测试扩展名;

if ... fileSystem.getExtensionName(file.name) = "txt" then

您还需要逻辑And而不是按位连接&

于 2012-07-04T11:20:59.250 回答
0

亚历克斯的答案是您想要的答案,但如果您仅使用 vbs 和字符串文件名,则仅供参考,没有文件系统对象集合,您可以通过以下方式实现相同的目的:

Right(strFilename, Len(strFilename) - Instrrev(strFilename, "."))

这基本上找到了最后“。”的位置。在文件名中,将其从文件名的长度中删除,然后为您提供与右侧相等的多个字符。这可以稍微修改为使用“Mid”命令而不是“Right”,但我认为在这种情况下它并不重要。

于 2012-07-04T15:27:26.020 回答