ねずみの横穴

我出来損ナイノ編程者為リ

Windowsの電源ショートカットを一通り作成するPythonスクリプト

だいぶ前に作ったやつ発掘したからアップしてみる。 ネットで調べながら作ったと思う。

import subprocess
import re
import winshell

# 取得:既存の電源設定
powercfgs = subprocess.check_output('powershell -Command powercfg /L', shell=True).decode("shift_jis", errors="surrogateescape")
print(powercfgs)

# 分割:改行文字
powercfgs = powercfgs.split('\r\n')
# print(powercfgs)

# 初期化:GUIDを含む文字列
str_guids = []

# 取得:'GUID'を含む文字列
for val in powercfgs:
    if('GUID' in val) == True:
        str_guids.append(val)

str_l_target = '電源設定の GUID: '
str_r_reg = r'  (.*).*'
str_r_after = ''

# 初期化:電源プランdict
dict_plans ={}

# 整形:電源プラン
for val in str_guids:
    guid = val.lstrip(str_l_target)
    guid = re.sub(str_r_reg, str_r_after, guid)
    plan_name = re.sub(r'電.*\(', '', val)
    plan_name = re.sub(r'\).*', '', plan_name)
    dict_plans[guid] = plan_name
    
print(dict_plans)

# 書込:ショートカットファイル
for key, val in dict_plans.items():
    path = './' + val
    with winshell.shortcut(path) as link:
        link.path = "C:\Windows\System32\powercfg.exe"
        link.description = val
        link.arguments = '-setactive ' + key
        link.working_directory = val