WSLでシェルスクリプトでWindows操作
wsl bash -c "notepad.exe hoge"
のように,WSLを用いることでシェルスクリプトを用いてWindows側の操作を行うことができるようになりました.
これを用いてバッチファイルからWindowsのバッテリープランを変更してみたいと思います.
充電時は高パフォーマンス,そうでないときは省電力にする運用をしている人はいると思いますが,このようなバッチファイルを用意しておけばそれがワンクリックでできるようになります.
前提
- バッテリープランに「省電力」プランと「高パフォーマンス」プランが最低一つは存在すること
- WSLが既に使用可能
- ある程度シェルスクリプトの知識がある
省電力にするバッチファイル
save_battery.bat
wsl bash -c "powercfg.exe /S $(powercfg.exe /L | grep GUID | grep 省電力 | awk '{print $3}')"
「高パフォーマンス」と「省電力」をトグルするバッチファイル
toggle_battery.bat
wsl.exe bash -c "powercfg.exe /S $(powercfg.exe /L | grep GUID | grep -e 省電力 -e 高 | grep -v \* | awk '{print $3}')"
参考
WSLからのexeファイル操作など
Windwos 10のWSLを日常的に活用する:Windowsの補助としてLinuxコマンドを使うAdd Star