如何从命令行中回地面

问题描述:

我写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命令执行命令,但我的问题是,如何从命令行运行上面的命令它们在后台而不是前台执行命令。

+0

你是什么意思“背景”?异步?隐?或两者?或者是其他东西? – Bond 2014-09-11 12:10:05

+0

债券,我的意思是隐藏的 – user3727850 2014-09-11 12:58:35

+0

不幸的是,你不能在隐藏的窗口上使用'SendKeys()'。它必须可见并且活跃。我前段时间发布了一个黑客来克服这个问题,但它绝对是一个黑客。它涉及更改存储在注册表中的命令提示符窗口的打开位置,以便在屏幕外创建它。 – Bond 2014-09-11 13:06:14

尝试构建您的命令行并使用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 
'********************************************************************************************** 
+1

这肯定会隐藏命令提示窗口,但我认为OP希望能够发送击键。 – Bond 2014-09-11 13:08:41

+0

我跑上面的代码我得到错误在命令提示符文件名,目录名称或卷标语法不正确。 – user3727850 2014-09-11 17:25:34

+0

你的意思是你运行它,因为它是这样发布的,你不会改变任何设置? – Hackoo 2014-09-12 02:37:14