Windowsの.bat(.cmd)ファイル実行時に動的に環境変数を変更する方法
はじめに
Windows上で.bat(.cmd)ファイルを実行するときに、同一のbatファイル内で複数のバージョンのJavaコマンドを実行する必要があり、動的に環境変数の値を変更したいことがありました。その時の備忘録になります。
.bat(.cmd)ファイル内で環境変数を変更
以下のような感じでsetlocalコマンドとsetコマンドを使用することで、その.bat(.cmd)ファイル内部でのみ、実行中に環境変数の値を動的に変更することが出来ます。
※Windowsの環境変数の設定自体は変更されません
@echo off
setlocal
rem Java8の環境変数を設定
set "JAVA_HOME={Java8のパス}"
set PATH=%JAVA_HOME%\bin;%PATH%
rem Java8を使用してJavaのコマンドやMavenのbuildコマンドを実行
java -jar xxxxx
call mvnw.cmd clean package
rem Java17の環境変数を設定
set "JAVA_HOME={Java17のパス}"
set PATH=%JAVA_HOME%\bin;%PATH%
rem Java17を使用してJavaのコマンドやMavenのbuildコマンドを実行
java -jar xxxxx
call mvnw.cmd clean package
rem Java21の環境変数を設定
set "JAVA_HOME={Java21のパス}"
set PATH=%JAVA_HOME%\bin;%PATH%
rem Java21を使用してJavaのコマンドやMavenのbuildコマンドを実行
java -jar xxxxx
call mvnw.cmd clean package
endlocal
おわりに
割と容易にバッチ実行中に環境変数の値の変更が出来たので良かったです。
おまけ:続、HDDにドリルで穴を開けてまとめて廃棄したかった話
今回、記事が短いので、おまけとして前回記事のその後についてです。
前回記事の2週間後の2024年7月中旬、Amazonのプライムデーセールの時期が来ました。
工具のポイントアップに加え、前回記事でHDDに全く歯が立たなかった手持ちのドリルの約2倍のトルクを持つドリルが18%オフで販売されていたのを見つけてうっかり購入してしまいました。
(ちなみに2025/1/23現在確認したところ11,290円でした。)
ケース付属だったのが地味に嬉しい。
結果
前使ったドリルのトルクは約20N・mで今回購入したドリルのトルクは47N・m。事前に特に調べておらず何の根拠もないけど、これだけパワーがあれば今回はサクッと穴が空くんじゃないかと期待していざ作業開始
一応、今回はHDDを分解せずにそのままドリルで貫通することが出来ました。
ただ、私が思っていた「サクッと」では無く、2つ穴を開けるだけで1時間近く掛かり、3つ目の穴を開け始めたところでバッテリーが無くなって再充電が必要とかなり疲れました。
思っていたよりHDDのケースは硬かったです。
更に、作業の途中に力を掛けすぎてドリルビットを1本折ってしまいました。
まとめ
これより更に強いトルクを持つドリルなら今度こそサクッとHDDに穴を開けられるかもしれないですが、これ以上のものだと1万円以上のクラスになってきて気軽に試すの難しいのかなと思います。
(私のドリルのスキルが足りていないだけの可能性も十分ありますが。。。)
これから試される方は、前回の記事でも書きましたが、有料のHDD破壊サービスなどを利用したほうが良さそうな気がします。
もしくは、トルクスドライバーを持っており、ちゃんとHDDのラベルの裏にもトルクスネジが一つ隠れていることを分かっていれば、HDDの分解自体は容易に出来るので、プラッタを取り出して穴を開けて処分するのが良いかもしれません。
プラッタに穴を開けるだけであれば、前回のようにパワーが弱いドリルでも可能なので、興味のある方は試してみてください。