创建独特的文件棒

时间:2017-01-25 09:25:13

标签: batch-file vbscript

我创建了一个正确执行两个不同vbs文件的file.bat:

cscript "\\server_1\dir\file_M_1.vbs" "\\server_1\dir\muc1.xlsm"
cscript "\\server_2\dir\file_H_2.vbs" "\\server_2\dir\muc2.xlsm"

两个files.vbs的代码是相同的,因为它是为了在两个不同的服务器上做同样的事情而创建的。

这是file_M_1.vbs的内容,它只是运行名为" copy_M"的宏:

Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = False
objExcel.Run "copy_M"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close(0)
objExcel.Quit

相反,这是file_H_2.vbs的代码,它运行的宏名为" copy_H":

Dim args, objExcel
Set args = WScript.Arguments
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open args(0)
objExcel.Visible = False
objExcel.Run "copy_H"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close(0)
objExcel.Quit

我'我想知道是否有'只能在一个file.bat或file.exe中收集所有三段代码的可能性 (甚至计划在特定时间内使用windows7的任务调度程序运行。)

1 个答案:

答案 0 :(得分:1)

我用这种方式解决了这个问题。在其他人的帮助下,我们只创建了一个file.bat:

cscript "\\server1\dir\file.vbs"

它运行file.vbs:

Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.open("\\server1\dir\muc1.xlsm")
objExcel.Visible = False
objExcel.Run "copy_M"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Workbooks.open("\\server2\dir\muc2.xlsm")
objExcel.Visible = False
objExcel.Run "copy_H"
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Quit

它完美运行。我把windows7的任务调度程序放在file.bat中,一切都没问题。

我不知道是否可以只创建一个.exe(不是运行.vbs的.bat)

相关问题