澄清VB脚本程序到Zip文件错误消息

时间:2016-09-12 14:29:17

标签: vbscript zip

下面是一个小VB脚本,我认为应该压缩文件夹中的文件。 我是VB脚本的新手。

Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
wScript.Sleep 2000

我在这里找到了剧本。 Batch file script to zip files

我使用以下

运行脚本
CScript zipt.vbs ..\AFolder AFolder.zip

我收到以下错误:

zipIt.vbs(6, 1) Microsoft VBScript runtime error: Object required
: 'objShell.NameSpace(...)'

..\AFolder不是空的。 zip文件已创建且为空。

调试脚本,错误就在这一行。

Set source = objShell.NameSpace(InputFolder).Items

错误消息是什么意思?

1 个答案:

答案 0 :(得分:1)

根据this question,试试这个:

Set objArgs = WScript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
InputFolder = fso.GetAbsolutePathName(WScript.Arguments.Item(0))
ZipFile = fso.GetAbsolutePathName(objArgs(1))
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)
Set objShell = CreateObject("Shell.Application")
Set source = objShell.NameSpace(InputFolder).Items
objShell.NameSpace(ZipFile).CopyHere(source)
wScript.Sleep 2000

为了澄清,该剧本基本上不知道" AFolder.zip"它是如此需要整个绝对的道路。