質問: .lnkショートカットの環境変数 変数の宛先でjavaw.exeを開くwindowsショートカットを作成したいと思います。この宛先は、システム環境変数%my_own_java_home%の内容です。私がやろうとした: フォルダを右クリック(windowsエクスプローラを使用) new => shortcut 宛先:%my_own_java_home%\bin\javaw.exe -cp ...... next、finish 問題は、環境変数が作成時に計算であるということです。この環境変数の設定を開くと、変数のcurrent値が使用されます。変数をショートカットの宛先として保持するにはどうすればよいですか?
回答: vbscriptまたはpowershellのcomオブジェクトを使用して、環境変数を使用してショートカットを作成できるはずです。メソッド " createshortcut "(引数についても詳細 ここ )はそれが可能です。元々はvbscriptソリューションでしたが、次のようなpowershellプロンプトからこれを呼び出すことができます。$wshshell = new-object -comobject wscript.shell $shortcut = $wshshell.createshortcut("c:\users\public\desktop\my java shortcut.lnk") $shortcut.targetpath = "%sms_admin_ui_path%\javaw.exe" $shortcut.arguments = "-cp" $shortcut.save() 引数はターゲットパスに入らないことに注意してください。また、環境変数にスペースが含まれている場合は機能しない可能性があります。これの利点は、ラッパーではなく実際のショートカットがあることです。欠点は、プロパティダイアログからこのショートカットを変更できないことです。これを行うとすぐに、変数は再び置き換えられます。ラッパーが必要な場合は、完全にサイレントなvbsファイルもお勧めします。新しいテキストファイルを作成し、行を貼り付けますcreateobject("wscript.shell").run """%my_own_java_home%\bin\javaw.exe"" -cp", , false そこに「runmyjava.vbs」として保存し、そのファイルへのショートカットを作成すると、ほんの一瞬でも黒いポップアップが表示されなくなります。実行可能ファイルへのパスの後の前にある余分な「」に注意してください。これらは、環境変数にスペースが含まれている場合にのみ必要です。