真正最正确的用BAT运行JAVA不显示DOS窗口(连闪一下都不闪)

今天写一个独立于RCP项目之外的SWT小工具,需要用批处理启动,偶写了一个批处理没闪DOS窗口,看得同事一愣一愣的。于是赶快把自己当年一点心得和大家分享下。

很多朋友在WINDOWS下会用批处理去启动自己的java程序,
一般的写法是
运行class:
java xx

运行jar:
java -jar xxx.jar
但是这样运行会有一个恶心的对话框停在那直到我们关闭程序。


于是很多人说可以这样
运行class:
start javaw xx
运行jar:
start javaw -jar xxx.jar  

这种方法DOS窗口还是会一闪而过,这就算解决问题了吗?!网上很多人说是的.
对我们这种追求完美的人来说闪一下还是不能接受滴.

于是终极解决方案出现了!
那就是在批处理第一行加上@echo off

这样我们的批处理就变成了

运行class:
@echo off
start javaw xx

运行jar:
@echo off
start javaw -jar xxx.jar  


快试试吧,绝对不闪了。哈哈哈。

解释一下
 echo off
表示在此语句后所有运行的命令都不显示命令行本身 
@ 表示运行时不显示本命令行


想当年玩D版游戏的时候,虚拟光驱还是命令行方式的,为了让一个游戏正常运行,往往要写很长的批处理,那时候俺这种完美主义者就认识到了@echo off 的重要性了。
呵呵,这件事情证明了妈妈说学好DOS很重要是多么的英明伟大。

最后怀念一下藏经阁、大草原、老兵。
N年没买过碟子的人含泪飘过。。。。。。。。。。。。。。。。

 

 

简单啊,在你批处理的相同目录下新建一个记事本,里面输入:
set ws=wscript.createobject("wscript.shell")
ws.run "win.bat /start",0
(其中win.bat为你自己的批处理名字,自己改)
然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个vbe文件就达到目的了!~

 

 

 

Set WshShell = CreateObject("WScript.Shell") 
WshShell.Run chr(34) & "C:/Batch Files/syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing
其中的C:/Batch Files/syncfiles.bat替换成自己的BAT文件就可以了。用快捷方式指向这个vbs文件,再运行快捷方式就看不到cmd窗口了。

 

 

export PYTHONPATH="/Library/Python/2.5/site-packages:$PYTHONPATH"
alias python=python2.5

你可能感兴趣的:(真正最正确的用BAT运行JAVA不显示DOS窗口(连闪一下都不闪))