我有几个Windows注册表项存储在文件中的python列表中。键存储为完整路径,我只想通过一次循环一个元素来确保它们存在。
HKEY_LOCAL_MACHINESystemCurrentControlSetServices
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServicesOnce
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRunServicesOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonNotify
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogonUserinit
HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWinlogon\Shell
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon\Shell
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunOnceEx
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun
HKEY_CURRENT_USERSoftwareMicrosoftWindows NTCurrentVersionWindowsload
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindows
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionExplorerSharedTaskScheduler
HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWindows\AppInit_DLLs
以上是我正在检查是否存在的密钥以及我的keys.txt
文件的内容。
keysFile = 'keys.txt'
with open(keysFile) as f:
keys = f.readlines()
keys = [x.strip() for x in keys]
上面的代码用于打开带有路径的文件,并将每一行存储为列表的一个元素。我只是迷失了如何使用这些路径来检查它们是否存在。我已经看到正在使用winreg
,但我不确定这是否适用于此,因为这些是完整的路径。我将就如何应对这种情况提供任何指导。我是python和注册表的新手,所以请耐心等待。非常感谢。
用于处理注册表的python模块(尽管它们可能存在(。我个人会在使用此维基百科页面时混合使用字符串格式和os
模块来解决这个问题。我认为它看起来像这样:
import os
for key in keys: # you made this list already
command = "Reg.exe QUERY {}".format(key) # apply string formatting to replace the {}
os.system(command) # call our command on the command line
关于注册表脚本可能有很多需要了解的内容,但是一旦找到所需的命令,只需替换它们即可!希望这足以让你入门,欢迎来到StackOverflow XD!