我目前有一个批处理文件,它调用一个实际上可以完成我需要的工作的 vbscript(因为我没有处理批处理文件的经验)。请注意,我刚刚从互联网上获取了此代码。
我希望在 VB 脚本中发生的事情 基本上,我将提供一个路径,代码将检查特定文件(CSV 或 XML)是否存在。如果这些文件存在,它们将被放置在一个 zip 文件中。
VB 脚本中发生了什么目前,vbscript 将获取提供的路径中的所有文件,并将所有文件压缩到一个文件中。我想更改此代码,使其仅压缩 CSV 文件。
批号
CScript czip.vbs "C:\Users\donatoma\Documents\Folder1\" "C:\Users\donatoma\Documents\Folder2\CSV files.zip"
VB脚本
'Get command-line arguments.
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
'Create empty ZIP file.
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 <-- GET CSV FILES, ADD TO AN ARRAY
objShell.NameSpace(ZipFile).CopyHere(source)
'Required!
wScript.Sleep 2000
更新代码
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)
'Create empty ZIP file.
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
For i = 0 to source.Count - 1
If InStr(".csv", Right(source.item(i).Name, 4)) > 0 Then
objshell.Namespace(ZipFile).CopyHere (source.item(i))
End If
Next