mieki256's diary



2014/10/08(水) [n年前の日記]

#2 [perl][windows] ActivePerl や Strawberry Perl を切り替えるbatファイルを書いた

_昨日 、ActivePerl の異なるバージョンを切り替えるbatファイルを書いたけど、もうちょっと頑張れば Strawberry Perl とも切り替えられるかなと思えてきたので試したり。

以下のような場所に、それぞれインストール。 Strawberry Perl のフォルダ構成と合わせるために、ActivePerl のインストールフォルダに対して、以下の空フォルダを作成。
環境変数 PATH に、以下を追加しておく。既に Perlインストールフォルダがいくつか登録されていたら、それらは消しておく。
C:\Perl\c\bin
C:\Perl\perl\site\bin
C:\Perl\perl\bin

batファイルは以下の通り。

plch.bat
@echo off

set PERLPATH1=C:\Perls\activeperl58
set PERLPATH2=C:\Perls\activeperl516
set PERLPATH3=C:\Perls\strawberry518

set PPATH=
if "%1"=="58" set PPATH=%PERLPATH1%
if "%1"=="516" set PPATH=%PERLPATH2%
if "%1"=="518" set PPATH=%PERLPATH3%
if not "%PPATH%"=="" goto SETPERLDIR

echo Perlのパスを切り替えます。(mklink /d を使ってシンボリックを張り直し)
echo.
echo     1 : ActivePerl 5.8
echo     2 : ActivePerl 5.16
echo     3 : Strawberry Perl 5.18
echo.

set USERINPUTSTR=
set /P USERINPUTSTR="切り替えたい番号を選んでください : "
if "%USERINPUTSTR%"=="1" set PPATH=%PERLPATH1%
if "%USERINPUTSTR%"=="2" set PPATH=%PERLPATH2%
if "%USERINPUTSTR%"=="3" set PPATH=%PERLPATH3%
if not "%PPATH%"=="" goto SETPERLDIR

echo.
echo Usage:
echo     plch 58
echo     plch 516
echo     plch 518
goto END

:SETPERLDIR
@echo on
rmdir C:\Perl
mklink /d C:\Perl %PPATH%
@echo off
echo.
echo Perlのパスを %PPATH% に設定しました
echo.

:END

管理者権限でDOS窓を開いて、plch 58 とか plch 516 とか plch 518 とか、あるいは plch とか打てば、C:\Perl というシンボリックリンクが作られる。perl -v と打ってみて、バージョンが変わってることを確認。

注意事項。事前に C:\Perl というフォルダがあって、中にPerl一式が実体として入ってたら、rmdir C:\Perl で全消去されそうな予感。C:\Perl というシンボリックリンク名じゃなくて、違うリンク名にしておいたほうがまだ安心、かもしれない。

この手の専用のツールって作れないかな。 :

環境変数PATHの中身を置換できるツールがあれば済むのだろうけど…。誰か作ってないのかな…。もっとも、セキュリティ面でアレな気はするけれど。

ググってみたら、環境変数を置換する方法はあるらしい。 _炎のコマンドプロンプト入門/バッチファイル/環境変数 で解説されてた。
%[環境変数]:[置換元文字列]=[置換先文字列]%
set NEWPATH=%PATH:C:\Perl=C:\Perls\Perl516%
echo %NEWPATH%
なんだかbatファイルでもどうにかできそうな気がする。それをシステム全体に再設定できるかは、また別の話だろうけど。

以上です。

過去ログ表示

Prev - 2014/10 - 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