BaNg@taobao

          Just Do It!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            20 Posts :: -1 Stories :: 202 Comments :: 0 Trackbacks

          公告



          常用鏈接

          留言簿(33)

          我參與的團隊

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          一般在Windows的軟件大部分安裝在c:\ Program Files下面,比如我機器上的Java位置就是C:\Program Files\Java\jdk1.5.0_12,假如如果你在批處理中調用java或者javaw,會這么寫:

          set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
          set EXE_JAVA=%JAVA_HOME%\bin\java
          %EXE_JAVA% -version

          那樣會報告一個錯誤:
          'C:\Program' 不是內部或外部命令,也不是可運行的程序
          或批處理文件。


          以前為了避免這種問題,會把把JDK挪到c:\,但不是一個通用的解決辦法,現在可以采用兩種方式來解決:

          1 加上引號,表示一個完整路徑,這個在好多服務器批處理中常用到比如jboss,  tomcat。
          set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
          set EXE_JAVA="%JAVA_HOME%"\bin\java
          %EXE_JAVA% -version

          2 轉成短路徑,這個我認為是最好的解決辦法。
          set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12
          for %x in ("%JAVA_HOME%") do set JAVA_HOME=%~sx
          set EXE_JAVA=%JAVA_HOME%\bin\java
          %EXE_JAVA% -version

          需要注意的是,在批處理文件比如 run.bat 中,上面的for語句的變量有兩個%%號。
          for %%x in ("%JAVA_HOME%") do set JAVA_HOME=%%~sx

          另:如果只是想得到固定帶空格的短路徑,有一個快捷方法,使用cmd定位到某個目錄,輸入 debug 啟動x86虛模式調試,然后quit推出,那么cmd的路徑就變成短路徑了,如下圖





          posted on 2008-04-23 15:04 Always BaNg. 閱讀(18768) 評論(10)  編輯  收藏 所屬分類: Java網摘備用

          Feedback

          # re: windows批處理中對帶空格路徑的處理 2008-04-23 15:29 lvq810
          C:盤一般只裝系統文件  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-04-23 16:49 阿里
          僅對已存路徑有效。  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-04-23 17:03 Always BaNg.
          @阿里
          能告訴僅對已存路徑有效是什么意思?或許有些東西需要改進,望不嗇賜教!  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理[未登錄] 2008-04-23 17:12 啊光
          用雙引號就好了.  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-04-23 17:58 隔葉黃鶯
          我一般都是用雙引號的  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-04-24 15:07 懶人
          像jdk這樣的還是默認安裝路徑比較好  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-06-07 15:40 ever
          如果是for循環中有空格如果處理呢  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-11-17 00:58 huzza
          非常感謝!!!  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-11-17 01:02 huzza
          我有一個程序,路徑中含有空格,如果使用引號來包括路徑,程序就會crash;使用樓主的方法--也就是使用短路徑,就不會有問題.多謝!  回復  更多評論
            

          # re: windows批處理中對帶空格路徑的處理 2008-11-29 17:31 阿嬌
          學習學習!  回復  更多評論
            

          主站蜘蛛池模板: 庆安县| 墨江| 台江县| 林甸县| 沭阳县| 合阳县| 铜山县| 平舆县| 建平县| 来宾市| 南丹县| 台南县| 福州市| 新郑市| 翼城县| 沂水县| 安义县| 黄冈市| 仁化县| 昭平县| 宝丰县| 田东县| 新乡市| 阜新市| 勃利县| 建昌县| 新竹县| 麻江县| 垦利县| 青铜峡市| 壤塘县| 江西省| 黄陵县| 郎溪县| 澄江县| 体育| 庐江县| 恩施市| 南部县| 常熟市| 广德县|