我对 VBScript 相当陌生。我对我想要完成的事情进行了一些广泛的研究,甚至找到了如何做的例子,但无法让它正常工作。
在我的完美世界中,我需要解压缩从第三方供应商发送到文件夹的所有压缩文件,将解压缩文件导入另一个文件夹,然后删除压缩文件。
下面的脚本适用于不受密码保护的 zip 文件,但从供应商发送的所有文件都有密码。正如在另一篇文章中看到的那样,我注释掉的以下几行应该插入密码,但不要。“ ...(pwd+myZipfile)
”和“ ...(pwd+extractTo)
”。
提前感谢您的帮助。请提出任何代码改进或其他方法来实现这一点。
pathToZipFile = "P:\ZipFiles"
extractTo = "P:\UnZip"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(pathToZipFile)
Set fc = f.Files
Dim myZipFile
Dim intOptions, objShell, objSource, objTarget
Dim pwd
pwd = "password"
For Each f1 in fc
On Error Resume Next
myZipFile = f1
' Create the required Shell objects
Set objShell = CreateObject( "Shell.Application" )
' Create a reference to the files and folders
'Set objSource = objShell.NameSpace(pwd+myZipFile).Items( )
Set objSource = objShell.NameSpace(myZipFile).Items( )
' Create a reference to the target folder
Set objTarget = objShell.NameSpace(pwd+extractTo)
Set objTarget = objShell.NameSpace(extractTo)
intOptions = 256
' UnZIP the file
objTarget.CopyHere objSource, intOptions
' Release the objects
Set objSource = Nothing
Set objTarget = Nothing
Set objShell = Nothing
'Delete File from "P:\ZipFiles" after unzipping
fso.DeleteFile f1, True
Next