希望有人看看我的剧本并告诉我在哪里弄乱。
这是一个压缩日志文件的脚本,然后我想将它们移动到一个将通过网络共享的新文件夹中。现在我只是试图获得正确使用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."
答案 0 :(得分:2)
你的报价错了。要在字符串中使用引号,您必须复制引号。
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
如果您的Logfile或PathLogs可以包含空格,那么它们也必须被引用。