<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 119  文章 - 3173  trackbacks - 0
    <2012年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    交友莫獨(dú)酒,茅臺西鳳游。
    口干古井貢,心徜洋河流。
    稱多情杜康,趟無量雙溝。
    贊中華巍巍,無此不銷愁。

    常用鏈接

    留言簿(68)

    隨筆分類(136)

    隨筆檔案(122)

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 525157
    • 排名 - 93

    最新評論

    今天寫一個獨(dú)立于RCP項(xiàng)目之外的SWT小工具,需要用批處理啟動,偶寫了一個批處理沒閃DOS窗口,看得同事一愣一愣的。于是趕快把自己當(dāng)年一點(diǎn)心得和大家分享下。

    很多朋友在WINDOWS下會用批處理去啟動自己的java程序,
    一般的寫法是
    運(yùn)行class:
    java xx

    運(yùn)行jar:
    java -jar xxx.jar
    但是這樣運(yùn)行會有一個惡心的對話框停在那直到我們關(guān)閉程序。


    于是很多人說可以這樣
    運(yùn)行class:
    start javaw xx
    運(yùn)行jar:
    start javaw -jar xxx.jar??

    這種方法DOS窗口還是會一閃而過,這就算解決問題了嗎?!網(wǎng)上很多人說是的.
    對我們這種追求完美的人來說閃一下還是不能接受滴.

    于是終極解決方案出現(xiàn)了!
    那就是在批處理第一行加上@echo off

    這樣我們的批處理就變成了

    運(yùn)行class:
    @echo off
    start javaw xx

    運(yùn)行jar:
    @echo off
    start javaw -jar xxx.jar??


    快試試吧,絕對不閃了。哈哈哈。

    解釋一下
    ?echo off
    表示在此語句后所有運(yùn)行的命令都不顯示命令行本身
    @ 表示運(yùn)行時不顯示本命令行


    想當(dāng)年玩D版游戲的時候,虛擬光驅(qū)還是命令行方式的,為了讓一個游戲正常運(yùn)行,往往要寫很長的批處理,那時候俺這種完美主義者就認(rèn)識到了@echo off 的重要性了。
    呵呵,這件事情證明了媽媽說學(xué)好DOS很重要是多么的英明偉大。

    最后懷念一下藏經(jīng)閣、大草原、老兵。
    N年沒買過碟子的人含淚飄過。。。。。。。。。。。。。。。。
    posted on 2007-01-09 10:29 交口稱贊 閱讀(38172) 評論(53)  編輯  收藏 所屬分類: java相關(guān)

    FeedBack:
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:00 JAVA虛擬機(jī)
    進(jìn)步神速  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:05 交口稱贊
    ?????????????????????
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:08 ???
    樓主是火星人?  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:17 BeanSoft
    樓主真是牛人! PF!  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:21 交口稱贊
    @???

    俺火星人
    俺身邊的人都是火星人
    俺身邊幾十個人都不知道。。。。。。。。。。。。


    我在網(wǎng)上咋沒看到這種解決方法?俺又孤陋寡聞了。
    你知道為什么不寫出來?
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:23 交口稱贊
    能想到這種解決辦法的肯定不是我一個

    有點(diǎn)DOS常識的都可以想到

    關(guān)鍵是看你愿不愿意分享
    難道別人想到這種解決方法我再想到就是火星啊  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 11:25 交口稱贊
    而且這種方法我當(dāng)年在學(xué)校的時候就用了。。。。。。。。

    只是今天想到了寫出來而已

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 13:14 BeanSoft
    和諧社會,呵呵...  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 13:55 冷面閻羅
    @ECHO OFF
    pause
    我的bat文件后面加的是這個代碼.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 14:07 交口稱贊
    不好意思激動了  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 14:09 交口稱贊
    @冷面閻羅
    應(yīng)該是在bat最前面加吧

    你pause暫停一下想作什么?

    “請按任意鍵繼續(xù). . .”

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 14:11 交口稱贊
    其實(shí)最好的方法還是做成exe

    回來做個教程

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 15:01 BeanSoft
    兄弟,我在 Window 2003 英文版下面試驗(yàn)了, 不行的, 還是有 DOS 窗口 一閃而過, 雖然閃的非常快, 不過我還是看到了. 因?yàn)?bat 執(zhí)行的時候調(diào)用的命令行對系統(tǒng)來說是: cmd /c xxx.bat. 我想 cmd.exe 好像還暫時沒辦法隱藏吧.

    內(nèi)容:
    @echo off
    start javaw ViewSystemProperties
    ViewSystemProperties 是一個 Java 類.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 15:11 交口稱贊
    暈倒。。。。。。。。
    我現(xiàn)在用的就是win2003企業(yè)版
    不過是中文
    沒有窗口。。。。。。。。。。。

    英文按說也不會啊
    郁悶
    沒環(huán)境實(shí)驗(yàn)啊

    你在其它人的機(jī)器上試試
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 16:51 ???
    @交口稱贊

    我怎么知道你不知道?我還以為你知道呢,你早說我早告訴你嘛  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 16:52 ???
    基本常識我以為你知道,誰知你不知道,唉  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 17:04 交口稱贊
    @???
    被你打敗了


    呵呵
    雖然對你來說是常識
    但是真的很多人不知道。。。。。。。
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 17:05 交口稱贊
    @BeanSoft
    你說的閃一下
    是不是程序啟動時有輸出東西到控制臺了  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 19:42 Cyril
    學(xué)到了。。不錯。。:)
    不過順便賣下廣告:
    在Linux的X下基本上不用考慮這一類的問題.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 20:35 菜菜
    支持
    偶就不知道

    BS那種裝13的所謂高手

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-09 23:10 fyxruben
    沒經(jīng)歷過DOS時代,看來真的是缺失很多東西!
    跨越式發(fā)展看來并不一定就好呀!呵呵!  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-10 09:10 交口稱贊
    呵呵
    花半天時間就補(bǔ)上來了

    只是現(xiàn)在玩游戲已經(jīng)沒有當(dāng)年的感覺了  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-12 01:01 Mongoose[匿名]
    直接@start java xxxx 不就可以么? 為蝦米還需要@echo off ?  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-12 15:59 BeanSoft
    兄弟, 你的這個我也試過, 不行, 并不是不閃, 而是非常快, 你可以做個執(zhí)行時間比較長的 bat 試試, 可以看到系統(tǒng)進(jìn)程中的啟動命令是:
    cmd /c ""D:\test.bat" "
    也就是 Windows 調(diào)用 cmd.exe 來解釋 bat 文件.
    我想除非你設(shè)置 cmd.exe 啟動的時候是最小化, 這個窗口都是會閃一下的.
    也許我說的不對吧,呵呵.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-15 11:53 交口稱贊
    @Mongoose[匿名]
    為了很長的bat都不顯示。。。。。。
    只要寫一個@echo off就可以了。

    個人習(xí)慣。。。。。  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-15 11:55 交口稱贊
    @BeanSoft
    老大。。。。。。。。。。
    運(yùn)行個JAVA會要很長嗎。。。。。。。。。。。。。。。。。。。。。。。。。。。。
    呵呵

    能看看你的BAT嗎?
    這個問題我一定會繼續(xù)跟蹤下去。。。。  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃)[未登錄] 2007-01-19 10:04 Leon
    小兒科  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-01-24 14:36 hotfix
    那只是隱藏了命令行執(zhí)行的內(nèi)容,并沒有隱藏窗口.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃)[未登錄] 2007-01-26 22:00 test
    學(xué)習(xí)學(xué)習(xí)  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-02-02 12:52 BeanSoft
    @hotfix

    沒錯, 就是這個意思, DOS 窗口顯示了一下然后消失了, 隱藏的只是窗口中的命令行, 大概你的cmd.exe默認(rèn)啟動都是最小化的方式.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-02-02 13:01 交口稱贊
    。。。。。。。。
    我的沒設(shè)置最小化

    設(shè)置運(yùn)行模式:窗口
    開啟快速編輯
    開啟插入模式  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-04-30 21:39 FuzyLoGic
    在xp下是會顯示的,只是很快閃過,我們可以寫一個vbs文件來調(diào)用寫的bat文件,正好畢業(yè)設(shè)計(jì)用到自動啟動tomcat的功能點(diǎn),今天下午寫了個,雙擊就可自動啟動tomcat5.5,當(dāng)然只是簡單運(yùn)用,沒有放到系統(tǒng)中去,所以暫時不考慮路徑問題
    vbs文件:
    ------------------------------------------
    REM by FuzyLoGic
    Set ws =createobject("wscript.shell")
    ws.run "start.bat",vbhide
    ------------------------------------------

    start.bat文件
    ------------------------------------------
    @echo off
    start javaw -jar bootstrap.jar
    ------------------------------------------
    兩個文件都放到tomcat lib文件目錄下,雙擊vbs文件即可實(shí)現(xiàn)tomcat啟動,完全隱藏執(zhí)行,當(dāng)然也可以寫一個讓tomcat關(guān)閉或重啟的文件,大家可以試一下,我運(yùn)行了完全沒問題.
    PS:運(yùn)行環(huán)境 Windows XP
    JDK1.5
    tomcat5.5

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-01 00:33 交口稱贊
    樓上的你好勤奮。。。。。

    這么晚了還在看文章  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-03 01:39 FuzyLoGic
    今天突然想到自己走彎路了,回到上面例子中來看,當(dāng)時只顧著隱藏窗口卻把自己的目標(biāo)模糊了,因?yàn)槲业睦邮菃觮omcat,所以不用寫個vbs調(diào)用bat,直接用vbs調(diào)用exe即可。

    vbs文件:
    --------------------------------------------------
    DIM objShell
    set objShell=wscript.createObject("wscript.shell")
    objShell.Run "tomcat5.exe",vbhide
    --------------------------------------------------

    上面例子中我的bat文件寫的也不好,我們完全可以直接調(diào)用exe文件,如下
    bat文件:
    --------------------------------------------------
    @ echo off
    tomcat5.exe
    --------------------------------------------------

    樓上的不知,我今年大學(xué)畢業(yè),畢業(yè)設(shè)計(jì)要用到這個知識點(diǎn),有任務(wù)當(dāng)然要勤奮點(diǎn)了,而且現(xiàn)在還沒找到工作呢,現(xiàn)在學(xué)校根本不教這些腳本之類的東西,都是自己到網(wǎng)上搜資料,找了好長時間都找不到,所以順便借你的帖子寫點(diǎn)實(shí)踐的經(jīng)驗(yàn),希望對后面的人有所幫助。

      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-03 01:42 FuzyLoGic
    PS:文件路徑問題依然未考慮,運(yùn)行環(huán)境不變,請大家參照上面的帖子,若后面繼續(xù)追帖,無特殊說明運(yùn)行環(huán)境都不會變化,不再冗述。  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-03 18:41 放假啦
    樓上的樓上你好強(qiáng)  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃)[未登錄] 2007-05-05 09:48 小蝦米
    各位大蝦能能給我發(fā)一常用的代碼,求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求求你們拉?


    我的們箱是:605073172@qq.com  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-08 00:21 FuzyLoGic
    關(guān)于惱人的路徑問題,雖然Java中有路徑的解決辦法,但是總是相當(dāng)之麻煩,總要不斷的調(diào)試,而且對Tomcat5的啟動有點(diǎn)特別(exec()方法無法直接調(diào)用tomcat5.exe,反正我是反復(fù)調(diào)試了N遍不見成效)只好改用bat文件的方式解決路徑,為了解決bat文件的彈出窗口又改用vbs文件調(diào)用bat文件(是不是感覺繞了好大圈子啊-_-!)。還好,終于搜到了另一解決方法,tomcat5在安裝是會被作為windows的服務(wù)放置到服務(wù)項(xiàng)里的,所以最新方案如下:

    vbs文件:
    ---------------------------------------------------------
    REM by FuzyLoGic
    set startTomcat5 = WScript.CreateObject("WScript.Shell")
    startTomcat5.run " net start tomcat5 " , vbhide
    ---------------------------------------------------------

    直接啟動服務(wù)就ok了,跳過路徑問題,感覺真的不錯,呵呵
    希望對大家有所幫助  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-05-08 10:38 交口稱贊
    多謝樓上

    謝謝你的研究  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2007-10-09 14:01 @......
    呵呵,果然歷害。。。
    我說的是這文章,真可畏是經(jīng)典幽默之作啊!不錯樓主
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2008-01-17 11:16 ronchie
    @FuzyLoGic
    謝謝了  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2008-03-10 16:51 duxin
    在我的xp系統(tǒng)中還是會有dos窗口一閃而過。樓主的方法與下面類似,不過都會有窗口閃過:
    @start javaw xx
    @start javaw -jar xxx.jar
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2008-07-22 15:03 jadarr
    根本不行啊
    我的還是會有一個窗口彈出來,只是不輸出內(nèi)容而已。

    如果用了start javaw xxx,javaw后面就不能用-cp參數(shù)了;
    而對于我來說-cp參數(shù)是必須的。
      回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2008-09-30 17:15 匿名網(wǎng)友
    扯淡方法..  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2009-05-23 15:58 罵你的人
    嗎的,豬。你騙了多少人啊。你成功的成為一個騙子了  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2009-05-27 10:22 QQ124113792
    些個.VBS,執(zhí)行你的BAT,就可以了
    createobject("wscript.shell").run ".\xx.bat",0   回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2009-09-07 21:21 某人
    絕對會閃一下.2003server和xp上測試都一樣.  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2010-02-08 15:09 Vernon
    我只想問...怎么關(guān)?  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2010-11-21 15:44 easy518
    中國 最牛逼的網(wǎng)址導(dǎo)航: http://www.easy518.com
    中國 最好用的網(wǎng)址導(dǎo)航: http://www.easy518.com
    中國 最好用的網(wǎng)址大全: http://www.easy518.com  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2010-11-21 15:45 easy518
    正在學(xué)習(xí) bat呢
    多謝了
    推薦網(wǎng)址

    中國 最牛逼的網(wǎng)址導(dǎo)航: http://www.easy518.com
    中國 最好用的網(wǎng)址導(dǎo)航: http://www.easy518.com
    中國 最好用的網(wǎng)址大全: http://www.easy518.com  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2011-12-18 12:21 overtimer
    還是會閃一下...win7下運(yùn)行...雙核筆記本  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃)[未登錄] 2012-05-22 19:49 張磊
    我這么用,怎么還會閃一下呢??  回復(fù)  更多評論
      
    # re: 真正最正確的用BAT運(yùn)行JAVA不顯示DOS窗口(連閃一下都不閃) 2012-12-11 14:26 LZSB
    LZ連windows下bat的運(yùn)行原理都不知道,還在這扯個鳥啊。  回復(fù)  更多評論
      
    主站蜘蛛池模板: 久久精品免费观看| 亚洲成av人片不卡无码| 亚洲精品成a人在线观看| 免费高清小黄站在线观看| 女人被免费视频网站| 全免费一级毛片在线播放| 免费观看的毛片手机视频| 麻豆国产入口在线观看免费| 成全影视免费观看大全二| 日韩成人免费在线| 全部免费国产潢色一级| 亚洲人成色7777在线观看不卡| 可以免费观看一级毛片黄a | 久久水蜜桃亚洲AV无码精品| 亚洲欧美日韩自偷自拍| 日韩在线视精品在亚洲| 一个人看的免费视频www在线高清动漫 | 午夜免费福利小电影| 亚洲黄色免费网址| 成人免费视频69| 最近免费中文字幕4| 国产免费人成视频在线观看| 久久精品国产亚洲精品| 亚洲高清在线观看| 精品日韩99亚洲的在线发布| 亚洲AV无码AV日韩AV网站| 乱人伦中文视频在线观看免费| 久久久久久久久久久免费精品| 蜜臀AV免费一区二区三区| 69精品免费视频| 国产香蕉九九久久精品免费| 国产免费爽爽视频免费可以看| 国产成人毛片亚洲精品| 亚洲欧洲免费视频| 亚洲性无码一区二区三区| 五月天国产成人AV免费观看| 无码精品一区二区三区免费视频 | 久久久免费的精品| 我想看一级毛片免费的| 国产av无码专区亚洲国产精品| 亚洲人成在线观看|