こんにちは、arcadia13です。
誤って、自分のPCのユーザー環境変数(Path)を上書きするというアホなことをやらかしました。今回その対処法を備忘録を兼ねて残します。
経緯
- Python環境(pyenvによる)を整えようとして、PowerShellで下記コマンドを実行
$tmp = "pyenv用のパス先"
[Environment]::SetEnvironmentVariable("Path", "$tmp", "User")
- このコマンドが、既存の環境変数に対して「追加」する処理だと勘違いした状態で実行してしまった
本手法の前提条件
- Win10 or Win11であること
- このコマンド実行したPowerShellを閉じていないこと(閉じていたらアウト)
手法
開いているPowershellの環境変数情報の確認
$Env:Path
# 以下に結果が表示される
ここに表示されるのは、開いているPowershellが今使用している環境変数の情報です。Powershellを開いた状態だと、たとえ環境変数を変更してもそれが適用されません。変更適用には、PowerShell自体を閉じる必要があります。場合によってはPC自体を再起動しないと適用されません。今回はこれを利用します。
表示結果をコピーする
マウスなどで表示結果をすべて選択してCtrl+C。
コピーした環境変数を用いて下記を実行
$tmp = "表示結果をコピペする"
[Environment]::SetEnvironmentVariable("Path", "$tmp, "User")
一度PowerShellを落とし、もう一度立ち上げる
コマンドなどを確認して、環境変数が正常に戻っているか確認する
今回の問題点
- 事前に、削除してOKな自作環境変数などで予行練習していなかったこと
- 自分のPC環境しか影響がないとはいえ怠っていました
- コマンドの処理内容を詳しく把握していなかったこと
対処法
- コマンドの挙動をよく調べ実行する
- 定期的に環境変数のバックアップをとる
参考
まとめ
上書きした環境変数を元に戻す方法を、備忘録もかねてまとめました。
終わりに
自分の至らなさの結果ですので反省しています。
こんな経験は初めてだったので焦りました。
ただ、今回はPowerShellを閉じていなかったことが幸いしました。
焦りそうな場面こそ、無理やりにでも冷静さを取り戻す、不必要に焦らない訓練が必要だなと思いました。
それではhappy hacking!