私はcmdを毎日複数回実行する必要がある2行を持っています。次のような行があります。実行VBAの複数の行を含むシェルコマンド/バッチファイル
set_someclasspaths.bat
java -Xmx1024m foo.bar.stuff.Dashboard -var varone -from 20160701 -to 20160731 -outputdir c:\stuff -ir @ -dashboard
私はこれを自動化する2つの方法を考えていました。最初はバッチファイルで、2番目は送信キーです。私はそれを何かというラベルの付いたファイルにしました。上記の2つの行に貼って貼り付けました。これはすぐに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の能力はせいぜい疑わしいですこれを解決するための滑らかな印象の方法があるように、それが思われますバッチファイル、私はそれを行うことを好むだろう。
私は、2番目の行のjavaスクリプトにパラメータを渡していると思いますが、これに構文があるかどうかわかりませんし、Javaとバッチファイルの内容を学習していないと、
明確にするために、私の質問は二つあります:まず、バッチファイルはこれを行うより良い方法ですか?次に、なぜこれが機能していないのですか?
大変助けになりました。