web-dev-qa-db-ja.com

カスタム環境変数を使用してWindowsプログラムを起動します

私の開発マシン(Windows 7 Pro 64ビット)のJava_HOMEは、64ビットJavaをポイントしていますが、それで問題ありません。ただし、プログラムをインストールしただけです。つまり、FlashDeveloper IDE-この設定では問題があります。代わりに、32ビットJavaが必要ですが、 Java_HOME設定は、32ビットJavaが取得されないようにします。

Flash IDEを起動する直前にJava_HOMEの設定を解除したいと思います。

これを実現する1つの方法は、バッチスクリプトを使用することです。

しかし、もっと良い方法はありませんか? Windowsショートカットのプロパティウィンドウのさまざまなタブでそのようなオプションを検索しましたが、何もないようです。 (ただし、ショートカットからAdministratorとしてプログラムを実行するためのチェックボックスは見つかりました。)何か提案はありますか?

更新:私のために働いた解決策

:: type "C:\Program Files (x86)\FlashDevelop\FlashDevelop.bat"
@ECHO OFF
SETLOCAL
REM Prevent wrong 64-bit JVM from being picked up:
SET Java_HOME=
CALL "%~dpn0.exe"

これにより、コマンドプロンプトが開き、これを閉じることができます。実際の実行可能ファイル内のアイコンを探すようにショートカットプロパティを介してシェルに指示することにより、コマンドプロンプトから呼び出している実行可能ファイルのアイコンをショートカットに持たせることができます。

STARTに関連するソリューションを機能させることができませんでした。これにより、次の条件が満たされたときに、マシンに新しいcmd.exeウィンドウが開きます(理由はわかりません)。

start "C:\Program Files (x86)\FlashDevelop\FlashDevelop.exe"

私のcmd.exetuned であると言う必要があります-それはあちこちに影響を与える可能性があります。

start問題に関する更新:コメントのリンクに従って学習できるように、startコマンドは作成するウィンドウのtitleとしてquotesの最初の引数…したがって、引用符でパスを渡すと、新しいウィンドウのタイトルとして誤解されている。回避策は、最初の引数として明示的なタイトルを提供することです。これは空の場合もあります(start "" "some path\with spaces")。

17
Lumi

古いスレッドを復活させて申し訳ありませんが、これはおそらくこの問題の解決策を探している人々を助けることができると考えました:

FlexSDKでJava_HOMEパスを直接オーバーライドできます。これを行うには、SDKの 'bin /'フォルダー( 'C:\ Program Files(x86)\ FlashDevelop\Tools\flexsdk \'にあるはずです)に移動します。それがどこにあるか)そして「jvm.config」を開いてください。

3
Fred Deschenes

私はあなたがショートカット自体でそれを行うことができるとは思わないので、ショートカットは変数を設定するものを指す必要があり、それからプログラムを起動します。もちろん、それを行う方法は無限ですが、コマンドスクリプトがおそらく最も簡単です。

Batファイルでstart command.exeを使用すると、コマンドウィンドウが点滅しますが、固定されません。

更新:実際には、これをショートカットターゲットとして配置することができます。

C:\Windows\System32\cmd.exe /c "set HOME=c:\ && start C:\Windows\System32\notepad.exe"

更新2:コマンドパスのスペースでは機能しませんでした。しかし、これはそうです!

C:\Windows\System32\cmd.exe /c "set HOME=c:\ && path %path%;C:\Program Files (x86)\VideoLAN\VLC && start vlc.exe"
12
fstx

setは一時的なものであるため、以下をバッチに入れることができます。

set Java_HOME=
program.exe
4
Tamara Wijsman