如果没有符合条件的文件,如何使此VBScript终止?
我已经修改了一个现有的脚本,以满足我的需要,但它一直在运行 基本上,脚本会检查指定路径下的文件夹,并删除文件扩展名为如果没有符合条件的文件,如何使此VBScript终止?,vbscript,Vbscript,我已经修改了一个现有的脚本,以满足我的需要,但它一直在运行 基本上,脚本会检查指定路径下的文件夹,并删除文件扩展名为.done的任何超过7天的文件 我无法让它在重命名所有符合条件的文件后终止。有什么想法吗 Set args = WScript.Arguments For Each arg In args t = Split(arg, "=") If IsNumeric(t(1)) Then v = arg Else v = t(0) & "=" &
.done
的任何超过7天的文件
我无法让它在重命名所有符合条件的文件后终止。有什么想法吗
Set args = WScript.Arguments
For Each arg In args
t = Split(arg, "=")
If IsNumeric(t(1)) Then
v = arg
Else
v = t(0) & "=" & """" & t(1) & """"
End If
Execute (v)
Next
FileTooOld = DateAdd("d", -7, Now())
Set fso = WScript.CreateObject ("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Do Until False
ShowSubFolders fso.GetFolder("C:\Users\Redacted\Desktop\Test")
Loop
Sub ShowSubFolders(Folder)
WScript.Echo "* " & Folder & "\" '& subfolder.name
Set files = Folder.Files
On Error Resume Next
For Each file In files
If LCase(Right(file.Name, 5)) = ".done" Then
realfile = folder & "\" & Left(file.Name, Len(file.Name) - 5)
If Not fso.FileExists(realfile) And file.DateLastModified < FileTooOld Then
WScript.Echo realfile & ".done"
file.Delete
End If
End If
Next
On Error Goto 0
For Each Subfolder In Folder.SubFolders
WScript.Echo "** " & subfolder & "\" '& subfolder.Name
ShowSubFolders Subfolder
Next
End Sub
Set args=WScript.Arguments
对于args中的每个arg
t=拆分(arg,“=”)
如果是数字(t(1)),则
v=arg
其他的
v=t(0)和“=”和“&t(1)和”
如果结束
执行(五)
下一个
FileTooOld=DateAdd(“d”,-7,Now())
设置fso=WScript.CreateObject(“Scripting.FileSystemObject”)
设置objShell=CreateObject(“WScript.Shell”)
直到错误为止
ShowSubFolders fso.GetFolder(“C:\Users\redact\Desktop\Test”)
环
子文件夹(文件夹)
WScript.Echo“*”&文件夹&“\”&子文件夹.name
Set files=Folder.files
出错时继续下一步
对于文件中的每个文件
如果LCase(Right(file.Name,5))=“.done”,则
realfile=folder&“\”&Left(file.Name,Len(file.Name)-5)
如果不存在fso.FileExists(realfile)和file.datelastmedited
根据我的说法,下面的循环是不必要的。循环部分已在接头内部处理
Do Until False
ShowSubFolders fso.GetFolder("C:\Users\Redacted\Desktop\Test")
loop
与上面的循环不同,只需调用子ShowSubFolders并像下面那样对循环进行注释,您的问题就会得到解决。请让我知道这是否有帮助
'Do Until False
ShowSubFolders fso.GetFolder("C:\Users\Redacted\Desktop\Test")
'loop
您在一个无限循环中不断调用
ShowSubFolders()
(Do-Until False…循环
)。如果希望脚本在执行清理后终止,请删除循环并只调用该过程一次。这似乎工作得很好。非常感谢您的帮助。:)