2017-02-12 15 views
0

私のプログラムは、特定のプログラムのGUIベースのインストールと実行ツールです。私がGUIと言うとき、バッチファイルを意味します。プログラムをインストールするときは、インストールされている場所を常に知っている必要があります。現在、変数に記録していますが、プログラムを終了して後で戻っても機能しないので動作しません。永久変数を格納する方法。 私は多分このような何かを考えていた:専用のコマンドがバッチファイルの恒久変数

+5

'setx instloc" C:¥Users¥JoeBloggs¥Documents¥Environment¥My Programs¥This program.exe " – npocmaka

+4

レジストリはその目的のために発明されました。レジストリエントリを一括して読み書きする方法に関する多くの記事です。 – Magoo

+3

まあ、バクテッドファイルを持つ擬似体系のGUI(Graphical User Interface)があります。 – dbenham

答えて

1

にあった場合の設定は、現在のシェルの環境値を変更し、変更が一時的なものである

set instloc='C:\Users\JoeBloggs\Documents\Environment\My Programs\This program.exe' 
echo %instloc% > instloc.txt 
attrib +h instloc.txt 

をしかし、私は思っていたが、すぐにご利用いただけます。変更は実行中の他のシェルには影響しません。シェルを閉じるとすぐに、新しい値が失われます。

SETXは将来のすべてのシェルに影響する恒久的価値を、修正したが、既に実行中のシェルの環境を変更しません。変更を有効にするには、シェルを終了してから再度開く必要がありますが、値を変更するまで値は変更されません。

SETX instloc:使用SETX設定の代わりに使用するのでは、あなたの場合は

、 "C:\ユーザー\ JoeBloggsドキュメント\環境\マイプログラム\このPROGRAM.EXE \"

+0

答えをテストするのは大変でしたか? 'setx'は' = 'を使用しません。 'setx instloc" C:\ Users \ JoeBloggs \ Documents \ Environment \ My Programs \ This program.exe " – DavidPostill

+0

@DavidPostill:これはタイプミスです。書く人は簡単に把握できます。 –

+0

"それはタイプミスだよ"それでは間違った答えを修正してください – DavidPostill

関連する問題