4

プログラムで、バッチ ファイル (または powershell スクリプト) を使用して、すべてのフォルダーをc:\Program Filesシステム変数に入れる方法はありますPATHか? 私はコマンド ラインに依存しており、コマンド ラインからプログラムを起動したいだけです。

はい、Linux シェルがうらやましいです。

4

2 に答える 2

6

「C:\Program Files」をパラメーターとしてこのバッチ ファイルに渡します。

@echo off

FOR /D %%G IN (%1\*) DO PATH "%%G";%path%
于 2008-12-08T16:46:32.060 に答える
5

これを行うと、DLL Hell を呼び出すという意味で、コンピューターが壊れる可能性が非常に高くなります。各実行可能ファイルを呼び出すと、OS は各ディレクトリを調べてPATH、その実行可能ファイルが参照する各 DLL または EXE を見つけます。にディレクトリを追加すると、OS が間違ったディレクトリを見つける可能性が高くなりますPATH

したがって、ベスト プラクティスは、 を大きくしないこと、PATHさらには小さくすることです。暗黙的な依存関係ではなく、それらを明示的にします。

代わりに、次のアプローチをお勧めします。

  1. binユーザーのホーム ディレクトリ内にディレクトリを作成する
  2. binそのディレクトリをユーザーPATH変数に追加します
  3. コマンド ラインから呼び出すアプリケーションごとに、ディレクトリに Windows CMD スクリプトを作成しますbin(入力する実行可能ファイルと同じ名前)。
  4. 各スクリプトで を呼び出しSetLocal、アプリケーションのインストール ディレクトリ ( の下%ProgramFiles%) をに追加PATHしてから、コマンド ラインから引数を指定して実行可能ファイルを呼び出します。
  5. 関連するディレクトリを から削除してPATH、このスクリプトが実行可能ファイルを呼び出す唯一の方法になるようにします。
于 2008-12-08T17:35:44.113 に答える