如何从命令行中回地面
我写VB脚本在前台如何从命令行中回地面
'File paths
processFile = "java -jar doSomething.jar C:\folder1\subFolder1 C:\folder2\subFolder2"
Set objShell = CreateObject("Wscript.shell")
objShell .run "cmd /k CD C:\VBScriptfolder\script" 'Path to vbscript which contains command to run from command line
WScript.Sleep 5000
Wait(5)
objShell .SendKeys processFile
WScript.Sleep 3000
Wait(3)
objShell .SendKeys "{ENTER}"
WScript.Sleep 40000
Wait(60)
objShell .SendKeys "exit{ENTER}"
从Windows运行命令行jar命令执行命令,但我的问题是,如何从命令行运行上面的命令它们在后台而不是前台执行命令。
尝试构建您的命令行并使用wscript.echo进行调试。 而且,如果你觉得这是正确的,你应该发表意见wscript.echo并取消这条线调用运行(StrCmd,0,假)“隐藏控制台
Option Explicit
Dim StrCmd,Path,processFile
Path = "C:\VBScriptfolder\script" 'Path to vbscript which contains command to run from command line
processFile = "java -jar doSomething.jar C:\folder1\subFolder1 C:\folder2\subFolder2"
StrCmd = "CD /D "& Path & " & " & processFile &""
wscript.echo StrCmd
'Call Run(StrCmd,1,False) 'Showing the console
'Call Run(StrCmd,0,False) 'Hiding the console
'**********************************************************************************************
Function Run(StrCmd,Console,bWaitOnReturn)
Dim ws,MyCmd,Result
Set ws = CreateObject("wscript.Shell")
'A value of 0 to hide the MS-DOS console
If Console = 0 Then
MyCmd = "CMD /C " & StrCmd & ""
Result = ws.run(MyCmd,Console,bWaitOnReturn)
If Result = 0 Then
'MsgBox "Success"
Else
MsgBox "An unknown error has occurred!",16,"An unknown error has occurred!"
End If
End If
'A value of 1 to show the MS-DOS console
If Console = 1 Then
MyCmd = "CMD /K " & StrCmd & ""
Result = ws.run(MyCmd,Console,bWaitOnReturn)
If Result = 0 Then
'MsgBox "Success"
Else
MsgBox "An unknown error has occurred!",16,"An unknown error has occurred!"
End If
End If
Run = Result
End Function
'**********************************************************************************************
这肯定会隐藏命令提示窗口,但我认为OP希望能够发送击键。 – Bond 2014-09-11 13:08:41
我跑上面的代码我得到错误在命令提示符文件名,目录名称或卷标语法不正确。 – user3727850 2014-09-11 17:25:34
你的意思是你运行它,因为它是这样发布的,你不会改变任何设置? – Hackoo 2014-09-12 02:37:14
你是什么意思“背景”?异步?隐?或两者?或者是其他东西? – Bond 2014-09-11 12:10:05
债券,我的意思是隐藏的 – user3727850 2014-09-11 12:58:35
不幸的是,你不能在隐藏的窗口上使用'SendKeys()'。它必须可见并且活跃。我前段时间发布了一个黑客来克服这个问题,但它绝对是一个黑客。它涉及更改存储在注册表中的命令提示符窗口的打开位置,以便在屏幕外创建它。 – Bond 2014-09-11 13:06:14