プログラムで、バッチ ファイル (または powershell スクリプト) を使用して、すべてのフォルダーをc:\Program Files
システム変数に入れる方法はありますPATH
か? 私はコマンド ラインに依存しており、コマンド ラインからプログラムを起動したいだけです。
はい、Linux シェルがうらやましいです。
「C:\Program Files」をパラメーターとしてこのバッチ ファイルに渡します。
@echo off
FOR /D %%G IN (%1\*) DO PATH "%%G";%path%
これを行うと、DLL Hell を呼び出すという意味で、コンピューターが壊れる可能性が非常に高くなります。各実行可能ファイルを呼び出すと、OS は各ディレクトリを調べてPATH
、その実行可能ファイルが参照する各 DLL または EXE を見つけます。にディレクトリを追加すると、OS が間違ったディレクトリを見つける可能性が高くなりますPATH
。
したがって、ベスト プラクティスは、 を大きくしないこと、PATH
さらには小さくすることです。暗黙的な依存関係ではなく、それらを明示的にします。
代わりに、次のアプローチをお勧めします。
bin
ユーザーのホーム ディレクトリ内にディレクトリを作成するbin
そのディレクトリをユーザーPATH
変数に追加しますbin
(入力する実行可能ファイルと同じ名前)。SetLocal
、アプリケーションのインストール ディレクトリ ( の下%ProgramFiles%
) をに追加PATH
してから、コマンド ラインから引数を指定して実行可能ファイルを呼び出します。PATH
、このスクリプトが実行可能ファイルを呼び出す唯一の方法になるようにします。