VBscript 使用 7zip 压缩日志文件

标签 vbscript zip

希望有人看一下我的脚本并告诉我哪里搞砸了。

这是一个用于压缩日志文件的脚本,然后我想将它们移动到将通过网络共享的新文件夹中。现在我只是想得到它使用 7zip 正确压缩文件的部分。

我对 VB 很陌生(大约 2 天),所以我认为有一些语法问题。

脚本位于下面,提前感谢您的所有建议和帮助

Option Explicit

WScript.Echo "Press to start zipping log files."

Dim objFile, objPath, objFolder, Command, PathLogs, RetVal
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objShell: Set objShell = CreateObject("WScript.Shell")

PathLogs = "C:\Testscripts\testfolder\" 'This path just has some test logs

' 循环遍历日志并压缩并移动每个文件(如果需要,您可以只移动带有“.log”扩展名的文件)

Set objPath = objFSO.GetFolder(PathLogs)
For Each objFile In objPath.Files
If (LCase(objfso.GetExtensionName(objFile)) = "log") Then
    Wscript.Echo objFile.Name
    ' zip and move files
    'Command = """C:\Program Files\7-zip\7z.exe"" -m -ex """ & PathLogs &     \objFile.Name objfso.GetBaseName(objFile) & "*.zip"" """ & PathLogs & objFile.Name & """"
     Command = ""C:\Program Files\7-zip\7z.exe"" a -m -ex " & PathLogs & "" & objFile.Name & ".zip " & PathLogs & "" & objFile.Name & "
        WScript.Echo "Command: " & Command
RetVal = objShell.Run(Command,0,true)

End If

Next

WScript.Echo "Zip Successful."

最佳答案

你的引述有误。要在字符串中使用引号,您必须复制引号。

Command = """C:\Program Files\7-zip\7z.exe"" a -m -ex " _ 'this is the first part of the string
          & PathLogs & objFile.Name & ".zip " & PathLogs & objFile.Name

如果您的日志文件或路径日志可以包含空格,则也必须用引号引起来。

关于VBscript 使用 7zip 压缩日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11228664/

相关文章:

Java删除部分文件路径

c# - 如何在应用程序中提供大量文件

python - 读取包含 UTF-8 xml 文件的 zip 时出现问题

VBScript 类成员变量被外部常量覆盖

vbscript - 在 VBscript 中调用函数时使用 Call 有什么优点吗?

vbscript - VBS在文本文件中分割逗号分隔行

vbscript创建多个隐藏子文件夹

Android 解压缩在 Mac 上压缩的文件

处理 Zip 文件的 java 库

windows - 根据屏幕形状或停靠状态自动更改 Windows 7 任务栏位置