Windowsのショートカットを使用して、アプリケーションの環境変数を設定できますか?
-
27-09-2019 - |
質問
ディレクトリを追加できるはずです 道 環境変数はアプリケーションと一度に変動しますが、これを行う方法を見つけることができません。リンクされているアプリケーションが使用するための現在のパス値にディレクトリを追加する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_HOME
と PATH
環境変数があるため、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セッションから環境変数を継承するため、プログラムは良いです。