我正在尝试使用powershell从位于驱动器上的zip文件夹中提取一些文件,我在临时文件夹中只能读取我的桌面,在那里我可以对它们做任何我喜欢的事情。
使用下面的代码我没有得到错误,但powershell代码只是什么也不做。我错过什么了吗?
Sub unzip_test()
Dim myshell As Shell32.Shell
Set myshell = New Shell32.Shell
Dim args As String
args = "Expand-Archive -LiteralPath " & "'C:Usersuser1DesktopTEMPexamplezip.zip'" & " -destinationpath " & "'C:Usersuser1DesktopTEMPtester'"
'Debug.Print (args)
myshell.ShellExecute "powershell", vargs:=args
End Sub
debug。print打印Expand-Archive -LiteralPath 'C:Usersuser1DesktopTEMPexamplezip.zip' -destinationpath 'C:Usersst11524DesktopTEMPtester'
此外,我有"微软Shell控制和自动化";查看我的参考资料。
应该可以。我认为问题是在扩展存档调用的某个地方,但您看不到答案。
快速修复是将-NoExit
添加到您的呼叫中,像这样
args = "-NoExit Expand-Archive -LiteralPath " ...
这将允许您在它关闭之前读取错误,但您不能从代码中读取错误。如果你需要,请看这里
在另一台计算机上测试后,我得出结论,这是一个权限的事情。我的个人电脑可以很好地运行脚本,而我的工作电脑则不行。我没有看到上面列出的代码有任何问题,所以我认为这个问题已经解决了。