mieki256's diary



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 というファイル名で保存した。

@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 を使って作業する時だけ、この問題に遭遇するので、普段は忘れてるのだよな…。

以上です。

過去ログ表示

Prev - 2025/12 -
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