我编写了一个调用两个参数的脚本,但每次运行时都会收到一条错误消息:
行:7个字符:21错误:预期字面常量代码:800A0415
有人可以帮助我理解我在这里做错了吗?
下面的脚本期望接收2个参数并根据这些参数执行文件删除。
第一个参数将包含要删除的文件的路径,第二个参数将包含一个代表天数的数字。
Dim arg, var1, var2
set arg = wscript.Arguments
var1 = arg(0)
var2 = arg(1)
Const strPath = var1
Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")
Call Search (strPath)
WScript.Echo"Completed Successfully."
Sub Search(str)
Dim objFolder, objSubFolder, objFile
Set objFolder = objFSO.GetFolder(str)
For Each objFile In objFolder.Files
If objFile.DateLastModified < (Now() - var2) Then
objFile.Delete(True)
End If
Next
For Each objSubFolder In objFolder.SubFolders
Search(objSubFolder.Path)
Next
End Sub
Set objFSO = nothing
Set arg = nothing
答案 0 :(得分:0)
您的问题出在以下几行:
Const strPath = var1
您不能将常量的值设置为变量。您需要明确说明文字是一个常量,如:
Const strPath = "C:\Some\Path"
考虑到你要做的事情,你最好将strPath用作变量并从那里开始。
Dim strPath : strPath = var1
或其他一些类似的解决方案。