基本的に、私は自分のコントロールパネルを通過してパス変数を変更できることを知っています。しかし、私はバッチプログラミングを介して一時的なパスが含まれている方法があるかどうか疑問に思いますか?そのようにそれはそのバッチファイル実行の間にだけ使われます。私のバッチファイルを使用するためだけに他の人に参加してもらい、パス変数を変更したくはありません。
他の環境変数と同様に、 SET
を使用します。
SET PATH=%PATH%;c:\whatever\else
最初に小さな安全性チェックを組み入れたい場合は、新しいパスが最初に存在するかどうかを確認してください。
IF EXIST c:\whatever\else SET PATH=%PATH%;c:\whatever\else
そのバッチファイルに対してローカルにしたい場合は、 setlocal
を使用します。
setlocal
set PATH=...
set OTHERTHING=...
@REM Rest of your script
setlocal
/endlocal
のドキュメントを注意深く読み、そのサイトの他の参考文献を見てください。 - 関数 も非常におもしろく、構文は扱いにくいです。
構文 ページを見てください。
その通りですが、恒久的に変更するのではなく、現在のコマンドプロンプトに対してだけです。恒久的に変更したい場合は、たとえば次のようにします。
setx ENV_VAR_NAME "DESIRED_PATH" /m
これは恒久的にそれを変更します、そして、そうあなたは別のバッチスクリプトによってそれを上書きすることができます。
重要な詳細があります。
set PATH="C:\linutils;C:\wingit\bin;%PATH%"
動作しませんが
set PATH=C:\linutils;C:\wingit\bin;%PATH%
動作します。違いは引用符です!