西门子软件安装重启删除注册表
# 本脚本仅使用Python标准库,无第三方依赖
# 无需安装额外包
import winreg
import sys
def delete_pending_file_rename_operations():
"""
删除 HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager
下的 PendingFileRenameOperations 键值,以解决软件安装时的重启循环问题。
"""
# 定义注册表路径和键名
reg_path = r"SYSTEM\CurrentControlSet\Control\Session Manager"
key_name = "PendingFileRenameOperations"
try:
# 打开注册表键,需要管理员权限
# winreg.HKEY_LOCAL_MACHINE 对应 HKLM
# winreg.KEY_ALL_ACCESS 或 KEY_SET_VALUE 用于修改
reg_key = winreg.OpenKey(
winreg.HKEY_LOCAL_MACHINE,
reg_path,
0,
winreg.KEY_SET_VALUE | winreg.KEY_QUERY_VALUE
)
print(f"正在检查注册表项: HKEY_LOCAL_MACHINE\\{reg_path}")
try:
# 尝试查询该键值是否存在
winreg.QueryValueEx(reg_key, key_name)
print(f"找到键值: {key_name}")
# 确认删除操作
confirm = input("是否确定要删除该键值以跳过重启提示? (y/n): ").strip().lower()
if confirm != 'y':
print("操作已取消。")
winreg.CloseKey(reg_key)
return
# 删除键值
winreg.DeleteValue(reg_key, key_name)
print(f"成功删除键值: {key_name}")
print("现在您可以直接运行西门子软件安装程序,无需重启电脑。")
except FileNotFoundError:
print(f"键值 '{key_name}' 不存在,无需删除。系统可能未处于 pending rename 状态。")
winreg.CloseKey(reg_key)
except PermissionError:
print("错误: 权限不足。请以管理员身份运行此脚本。")
print("提示: 右键点击脚本文件 -> '以管理员身份运行'")
sys.exit(1)
except Exception as e:
print(f"发生未知错误: {e}")
sys.exit(1)
if __name__ == "__main__":
print("--- 西门子软件安装重启提示清理工具 ---")
delete_pending_file_rename_operations()
input("\n按回车键退出...")
海阔凭鱼跃,天高任鸟飞,成功没有捷径,唯有努力前行!

浙公网安备 33010602011771号