Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
能够使用VBScript删除特定目录中的文件_Vbscript_Windows Server 2008 R2 - Fatal编程技术网

能够使用VBScript删除特定目录中的文件

能够使用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

我试图从日志目录中删除旧日志文件,但什么也没发生。除了更改文件位置之外,我使用了相同的代码,并且删除了这些文件。我通过CMD运行脚本,我作为管理员运行。当我以管理员身份执行脚本时,我不知道为什么它在一个目录中工作,而在另一个目录中不工作

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属性。