我有2行,我必须在cmd每天运行多次。这些线类似于下面的那些:从VBA运行多行Shell命令/批处理文件
set_someclasspaths.bat
java -Xmx1024m foo.bar.stuff.Dashboard -var varone -from 20160701 -to 20160731 -outputdir c:\stuff -ir @ -dashboard
我想过两种方法来自动执行此操作。第一个是批处理文件,第二个是发送密钥。我已经做了一个文件标记它的东西。巴特和粘贴在上述两行。这很快就会在cmd中打开一个窗口并再次关闭(即使我在最后添加了暂停),并且不会做我期望的事情 - 事实上,只要我能够告诉它运行第一个命令,那么什么都没有。
的发送键的方法似乎只运行第一线,我曾尝试:
Sub testcreate()
Dim wsh As Object
Set wsh = VBA.CreateObject("WScript.Shell")
Dim waitOnReturn As Boolean: waitOnReturn = True
Dim windowStyle As Integer: windowStyle = 1
wsh.Run "cmd.exe /K C:\a\b\set_someclasspaths.bat", windowStyle, waitOnReturn
wsh.sendkeys "java -Xmx1024m foo.bar.stuff.Dashboard -var varone -from 20160701 -to 20160731 -outputdir c:\stuff -ir @ -dashboard"
End Sub
我的批处理文件和Java的能力是值得怀疑的最好的,这似乎像整齐的方法来解决,这是批处理文件,所以我宁愿这样做。
我想我将参数传递给第二行的java脚本,即时通讯不知道是否有语法,也没有学习一些Java和批处理文件的东西,我已经停下来。
为了澄清,我的问题有两个:首先是批处理文件更好的方法来做到这一点?其次,为什么这不起作用?
非常感谢。