プログラムで、バッチ ファイル (または 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、このスクリプトが実行可能ファイルを呼び出す唯一の方法になるようにします。