能够使用VBScript删除特定目录中的文件
我试图从日志目录中删除旧日志文件,但什么也没发生。除了更改文件位置之外,我使用了相同的代码,并且删除了这些文件。我通过CMD运行脚本,我作为管理员运行。当我以管理员身份执行脚本时,我不知道为什么它在一个目录中工作,而在另一个目录中不工作能够使用VBScript删除特定目录中的文件,vbscript,windows-server-2008-r2,Vbscript,Windows Server 2008 R2,我试图从日志目录中删除旧日志文件,但什么也没发生。除了更改文件位置之外,我使用了相同的代码,并且删除了这些文件。我通过CMD运行脚本,我作为管理员运行。当我以管理员身份执行脚本时,我不知道为什么它在一个目录中工作,而在另一个目录中不工作 iMaxAge = 30 'in days Set objFSO = CreateObject("Scripting.FileSystemObject") Set colFolder = objFSO.GetFolder(sLogFolder) For Ea
iMaxAge = 30 'in days
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set colFolder = objFSO.GetFolder(sLogFolder)
For Each colSubfolder In colFolder.SubFolders
Set objFolder = objFSO.GetFolder(colSubfolder.Path)
Set colFiles = objFolder.Files
For Each objFile In colFiles
iFileAge = Now - objFile.DateCreated
If iFileAge > (iMaxAge+1) Then
objFSO.DeleteFile objFile, True
End iIf
Next
Next
当sLogFolder=“c:\inetpub\logs\LogFiles”
它工作时
当sLogFolder=“c:\www\logs\LogFiles”
不起作用时
这是在Windows 2008 R2服务器上执行的。是否有错误?(记住删除任何
下一步继续)在循环中打印某些内容以查看其失败的位置您是否比较了两个文件夹上的权限?没有错误。脚本将运行到完成,但在c:\www目录中时不会发生任何事情。我做了权限比较,管理员用户在目录、子目录和文件中拥有相同的权限。inetpub目录权限列表中有一个额外的用户,但它似乎不存在于其他任何位置,因此我无法将其添加到其他目录。脚本不会清除sLogFolder
本身,而只清除其子文件夹。可能是colFolder.SubFolders
集合为空,即选中Wscript.Echo colFolder.SubFolders.Count
。谢谢@JosefZ。我无法打印到控制台,因此无法进行故障排除。在使用Wscript.Echo之后,我发现文件上的DateCreated错误,需要使用DateLastModified属性。