【问题标题】:Files are not copied into zip file using VBS code文件不会使用 VBS 代码复制到 zip 文件中
【发布时间】:2016-11-28 07:04:09
【问题描述】:

我正在尝试创建一个 zip 文件并通过 VBS 代码将文件复制到其中。当我运行下面的 VBS 代码时,它运行成功。正在创建 Outcome.zip,但未复制任何文件

Here is my code :

Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("C:\apace-jmeter-3\bin\Results\outcome.zip", 2, True)
ts.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) )
Set fso = nothing
Set ts = nothing

WScript.Sleep 5000


Set objShell = CreateObject("Shell.Application")
Set DestFldr=objShell.NameSpace("C:\apace-jmeter-3\bin\Results\outcome.zip")
Set SrcFldr=objShell.NameSpace("C:\Users\chitra.balasubramani\Desktop\Mail")
DestFldr.CopyHere SrcFldr

【问题讨论】:

  • 我尝试关闭压缩文件。仍然显示拒绝访问错误
  • edit 您的代码以包含该调用和确切的错误消息。
  • 这里有两个可能被锁定的文件。你确定是 zip 文件还是源文件夹被锁定了?
  • 不是源文件夹。如果我尝试复制到另一个文件夹而不是 zip,它工作正常。问题应该与 zip 文件有关。我添加了代码来关闭它。仍然面临这个问题

标签: vbscript


【解决方案1】:

使用.CopyHere方法复制的文件是异步的,您应该在脚本退出之前添加压缩文件计数检查,这样复制不会被中断。看看下面的例子:

sDest = "C:\apace-jmeter-3\bin\Results\outcome.zip"
sSrc = "C:\Users\chitra.balasubramani\Desktop\Mail"

CreateObject("Scripting.FileSystemObject").OpenTextFile(sDest, 2, True).Write _
    "PK" & Chr(5) & Chr(6) & String(18, Chr(0))

With CreateObject("Shell.Application")
    Set oDestFldr = .NameSpace(sDest)
    Set oSrcFldr = .NameSpace(sSrc)
    oDestFldr.CopyHere oSrcFldr.Items
    Do 
        WScript.Sleep 100
    Loop Until oDestFldr.Items.Count = oSrcFldr.Items.Count
End With

【讨论】:

  • 试过上面的方法。获取拒绝访问错误。尝试添加关闭文件。仍然访问被拒绝错误。
  • 如果 dest 文件夹是“Set DestFldr=objShell.NameSpace("C:\apace-jmeter-3\bin\Results\Temp")”,则复制工作正常。如果 dest 为 Set DestFldr=objShell.NameSpace("C:\apace-jmeter-3\bin\Results\outcome.zip")",则出现拒绝访问错误。
  • @ChitraBalasubramani 尝试省略 CreateObject("Scripting.FileSystemObject").OpenTextFile(sDest, 2, True).Write "PK" & Chr(5) & Chr(6) & String(18, Chr(0)) 行(只需对其进行注释)并在启动脚本之前手动创建一个空 zip 文件。
  • 我尝试复制到手动创建的空 zip。获得相同的“拒绝访问错误”。当我尝试手动将文件复制到空的 zip 文件时,它是允许的。通过 VB 脚本获取错误
  • @ChitraBalasubramani 尝试运行提升的代码,看看解决方案 e。 G。 here.
猜你喜欢
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多