mieki256's diary



2024/01/30(火) [n年前の日記]

#1 [prog][windows] batファイルで環境変数PATH内の一部を無効化

環境は Windows10 x64 22H2。

自分の環境は、環境変数 PATH の中に、Strawberry Perl のインストールフォルダが登録されている。そのせいで、MinGW利用時、MinGW が持ってないはずのツールが ―― 例えば pkg-config などが、Strawberry Perl の bin/ の中から呼び出されてしまう。たぶん他にも、呼び出されたら困るツールがありそうな気もする。

MinGW を利用する時だけ、Strawberry Perl の bin/ を無効化したい。つまり、環境変数 PATH の中から、Strawberry Perl のインストールフォルダだけを除去したい。

文字列置換ができそう :

ググったら、以下が使えそうな気がした。

_バッチファイルの引数の文字列置換・パス展開 | 晴耕雨読
%PATH:str1=str2%
      変数内の文字列1を文字列2に置換

コレを使って、MinGW利用開始前に実行するbatファイル内で、Perlインストールディレクトリを無効化してみた。"Perls" を "_Perls" にしてしまうことで、Perlインストールディレクトリが参照されない状態にする。

set PATH=%PATH:Perls=_Perls%

件のbatファイルの全文は以下。

mingw.bat
@echo off
@rem MinGW,MSYS enable

@rem disable perl
set PATH=%PATH:Perls=_Perls%

@rem Please set your MinGW install Directory.
set MINGW_PATH=D:\MinGW

set MSYS_PATH=%MINGW_PATH%\\msys\1.0
set MINGWADDPATH=%MINGW_PATH%\bin;%MSYS_PATH%\bin
set PATH=%MINGWADDPATH%;%PATH%

set CPATH=%MINGW_PATH%\include
set C_INCLUDE_PATH=%MINGW_PATH%\include

@rem set CPLUS_INCLUDE_PATH=%MINGW_PATH%\include
set CPLUS_INCLUDE_PATH=%MINGW_PATH%\lib\gcc\mingw32\6.3.0\include\c++

set LIBRARY_PATH=%MINGW_PATH%\lib;%MINGW_PATH%\lib\gcc\mingw32\6.3.0

echo MinGW (SourceForge, gcc 6.3.0) enable. Add path [%MINGWADDPATH%]
echo.
echo CPATH              = %CPATH%
echo C_INCLUDE_PATH     = %C_INCLUDE_PATH%
echo CPLUS_INCLUDE_PATH = %CPLUS_INCLUDE_PATH%
echo LIBRARY_PATH       = %LIBRARY_PATH%

これで上手く行った気がする。mingw.bat を実行してから、which pkg-config と打っても何も表示されない。つまりは Perl のインストールフォルダが見えてない状態になってくれた。

以上です。

過去ログ表示

Prev - 2024/01 - Next
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project