2025/12/24(水) [n年前の日記]
#2 [prog] Perlのパスを環境変数PATHから除去したい
自分のメインPC(Windows11 x64 25H2)には Strawberry Perl をインストールしてあるけれど、この Strawberry Perl の中には gcc.exe が入っていて、
他のツールが gcc を呼び出して何かしようとする際、Strawberry Perl内の gcc が呼ばれてしまってちょっと困ったことになる。
一時的でも良いので、環境変数PATH内から Strawberry Perl関係のパスを除去できれば良いのだけど…。
Microsoft Copilot に batファイルを作成してもらった。AIめ…なかなかやりおるわい…。いや、誰かが書いてくれたbatファイルを持ってきてるだけ、だろうけど。
removeperlpath.bat というファイル名で保存した。
SJISで保存しておかないとダメ。最初間違って UTF-8 で保存してしまって妙なことになった。
とりあえず、このbatファイルを実行してから作業すれば不具合を回避できるだろう…。
一応、D:\home2\bin\removeperlpath.bat に置いておいたとメモ。もっともそのうち、batファイルの存在を忘れてしまいそうな予感もあるけれど。gcc を使って作業する時だけ、この問題に遭遇するので、普段は忘れてるのだよな…。
一時的でも良いので、環境変数PATH内から Strawberry Perl関係のパスを除去できれば良いのだけど…。
Microsoft Copilot に batファイルを作成してもらった。AIめ…なかなかやりおるわい…。いや、誰かが書いてくれたbatファイルを持ってきてるだけ、だろうけど。
removeperlpath.bat というファイル名で保存した。
@echo off @rem 環境変数PATHの中から、Perl関係のパスを除去する。 @rem Strawberry Perl の中に gcc.exe が入っていて、別ツールがその gcc を呼び出して不具合が起きる。 @rem このbatファイルを実行してから作業すれば問題を回避できる。 setlocal enabledelayedexpansion REM --- 削除したいパスを指定 --- set REMOVE_PATH=D:\Perls\strawberry\5.32.1.1-x64\c\bin;D:\Perls\strawberry\5.32.1.1-x64\perl\site\bin;D:\Perls\strawberry\5.32.1.1-x64\perl\bin; REM --- 現在の PATH を取得 --- set CURRENT_PATH=%PATH% REM --- 置換で削除 --- set CURRENT_PATH=!CURRENT_PATH:%REMOVE_PATH%=! REM --- 先頭と末尾のセミコロンを除去 --- if "!CURRENT_PATH:~0,1!"==";" set CURRENT_PATH=!CURRENT_PATH:~1! if "!CURRENT_PATH:~-1!"==";" set CURRENT_PATH=!CURRENT_PATH:~0,-1! REM --- PATH を更新 --- set PATH=%CURRENT_PATH% echo PATH updated for this session only. echo. echo New PATH: echo %PATH% @rem endlocal endlocal & set "PATH=%CURRENT_PATH%"
SJISで保存しておかないとダメ。最初間違って UTF-8 で保存してしまって妙なことになった。
とりあえず、このbatファイルを実行してから作業すれば不具合を回避できるだろう…。
一応、D:\home2\bin\removeperlpath.bat に置いておいたとメモ。もっともそのうち、batファイルの存在を忘れてしまいそうな予感もあるけれど。gcc を使って作業する時だけ、この問題に遭遇するので、普段は忘れてるのだよな…。
[ ツッコむ ]
以上です。