2011-12-27 116 views
0

我創建了一個註冊表,它將我的.mike文件與我創建的記事本應用程序相關聯。在批處理文件中打開.jar文件的命令

我認爲問題在於某處註冊表,因爲它只能運行.exe文件,雖然,我聽說.batch.exe文件是同樣的事情之一。

我試圖打開使用我的應用程序創建的文本文件,並收到消息「[blank] is not a valid Win32 Application」。

雙擊文件後,批處理文件中的命令是如何打開應用程序中的文件的?

+2

正如一些教育信息:一個批處理文件是一個命令腳本文件(由操作系統的命令處理器執行 - 最近的Windows版本是'cmd.exe'),而'.exe'(可執行文件)是一個獨立可執行文件由二進制代碼組成(它在操作系統上自行運行)。它們不像「同一件事」。 –

+0

你如何啓動你的應用程序?你是如何創建文件關聯的?也許[此Tec​​hNet文章](http://technet.microsoft.com/en-us/library/cc749986.aspx)可能有助於澄清事情? –

+0

@DanielPryden我希望我正確解釋你的第一個問題,我通過雙擊.jar文件啓動應用程序......?我通過創建類似於[此博客帖子]的文本文檔創建了文件關聯(也許這不是正確的術語)(http://registryeditor.blogspot.com/2008/09/how-do-you-make-你自己的文件extension.html)。感謝您參閱TechNet文章。我會看看我能做什麼,並讓你知道發生了什麼! – Rob

回答

2

根據你對你的問題的評論,它看起來像你只是想構建一個命令行來啓動你的JAR文件。這很簡單:

%JAVA_HOME%\bin\javaw.exe -jar C:\Path\To\YourApplication.jar 

(凡%JAVA_HOME%是指您安裝Java的目錄)

Sun的網站上有some comprehensive documentation on the java.exe and javaw.exe launchers。 (這個特定的鏈接有點過時,因爲它指的是Java 1.4.2,但啓動機制自那時以來一直沒有改變。)

如果你想啓動你的應用程序並打開一個文件,命令行是可能是這樣的:

%JAVA_HOME%\bin\javaw.exe -jar C:\Path\To\YourApplication.jar C:\Path\To\SomeFile.txt 

然後"C:\\Path\\To\\SomeFile.txt"將被傳遞給你的main()方法在其String[] args參數。

+0

@Mike:如果有一些你不明白的特定方面,請隨時打開一個新問題。 –

+0

好的。通過說'%JAVA_HOME%** **引用** ...是否意味着它像編程或引用中那樣引用位置,如「在此處插入目錄」?我試圖在命令提示符下執行change directory命令(只有'cd'推回到父文件夾),但它保持在同一目錄下,這告訴我它必須是根目錄。如果它推回到C:\,我會添加指向'javaw.exe'文件的其餘目錄。再次,我很抱歉有這麼多問題。我幾乎沒有任何背景的命令提示符。 – Rob

+0

@Mike:你一定要熟悉命令提示符,因爲這可以幫助你理解這裏發生了什麼。 DOS和Windows命令shell使用'%'-syntax來指示環境變量的擴展,這就像編程中的一個變量。通常將一個名爲'JAVA_HOME'的環境變量設置爲指向Java安裝文件夾(許多Java工具都期望這樣做),但通常不會由Windows上的JDK安裝程序完成。所以你可以自己設置變量,或者用你的硬編碼路徑替換它。 –