Windowsのショートカットを使用して、アプリケーションの環境変数を設定できますか?

StackOverflow https://stackoverflow.com/questions/3036325

質問

ディレクトリを追加できるはずです 環境変数はアプリケーションと一度に変動しますが、これを行う方法を見つけることができません。リンクされているアプリケーションが使用するための現在のパス値にディレクトリを追加するWindowsショートカットにパラメーターを追加することは可能ですか?

役に立ちましたか?

解決

ショートカットにバッチファイル(.cmd)を実行します。

  • 環境変数を設定します
  • アプリを実行します
  • 「START」を使用してアプリを実行すると、別のプロセスでアプリを開始しますが、環境をコピーします。アプリが終了するのを待つことはありません。
  • これで、バッチファイルを終了できます。

このように見えるはずです:

@echo off
set path=%path%;C:\My Folder
start "Path to my exe"

他のヒント

ここで説明したように: http://www.labs64.com/blog/2012/06/set-environment-variables-in-windows-shortcut/バットファイルなしでもできます。

ターゲットを例:

C:\Windows\System32\cmd.exe /c "SET path=%path%&& START /D ^"C:\Program Files (x86)\Notepad++^" notepad++.exe"

もう一度閉じる前に一瞬コマンドプロンプトを表示するには、設定する必要があります

Run: Minimized 

ショートカット]タブに

(Windows7、Windows 10でテストされています)

バッチファイルに直接リンクすると、おそらく避けたい迷惑なコンソールが生成されます。これが回避策です。より単純な解決策は、リンクで「最小化された開始」オプションを使用することですが、Windows 7では、タスクバーに瞬間的なコンソールが点灯することがわかります。

start.bat:

@echo off
IF "%1" == "" GOTO Error
IF "%2" == "" GOTO Error
IF NOT EXIST %2 GOTO Error
SET PATH=%1;%PATH%
start %2
GOTO End

:Error
echo Problem!
pause

:End

ショートカットターゲット:

MyPath = "C:\MyApp"
Set shell = WScript.CreateObject("WScript.Shell")
cmd = "start.bat " & MyPath & " MyApp.exe"
shell.Run cmd, 0, false
Set env = Nothing
Set shell = Nothing

PowerShellで簡単にこれを行うことができます。 PowerShellは、を使用して環境変数を公開します $env: プレフィックス。たとえば、カスタムでTeamSQLを起動したかった JAVA_HOMEPATH 環境変数があるため、PostgreSQLデータベースに接続できます。 TeamSQLは、この目的のためにJDK / OpenJDKに依存します。

最初に、事前に構築されたOpenJDKをダウンロードし、7-ZIPでZIPアーカイブを抽出しました。

次に、PowerShellで、次のことを実行しました。

$env:JAVA_HOME='C:\Users\TrevorSullivan\Downloads\openjdk\jdk-11.0.2\'
$env:PATH += ';%JAVA_HOME%\bin'

# Launch TeamSQL
& C:\Users\TrevorSullivan\AppData\Local\Programs\TeamSQL\TeamSQL.exe

そのPowerShellコードをaに保存します .ps1 ファイルを使用すると、PowerShellで実行できます。子プロセスはPowerShellセッションから環境変数を継承するため、プログラムは良いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top