通过.bat清除注册表项
在 Windows 系统中,.bat 文件(批处理文件)是一个包含一系列命令的文本文件。这些命令会被 Windows 命令解释器 (cmd.exe) 依次执行。 你可以把它想象成一个简单的程序,但它不像 C++ 或 Python 那样需要编译,而是直接由操作系统解释执行。
比如最开始学习数据库的时候,我在Navicat的官网下载了Navicat Premium17客户端用于学习数据库操作,安装完启动的时候,Navicat会提醒我:
很多官方正版软件都有这样的试用期,让初学者在最开始学习的时候有大概短到一周长到一个月的试用时间。试用期结束后,就需要去官网购买正版软件才能继续使用。
许多软件使用注册表来存储许可证信息、安装信息以及用户设置等数据。当试用期结束时,软件通常会检查注册表中的相关键值,以确定试用期是否已到期。通过删除相关的注册表项,实际上清除了软件用来追踪试用期的信息。
echo Delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Update
reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Update /f
echo Delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration[version and language]
for /f %%i in ('"REG QUERY "HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium" /s | findstr /L Registration"') do (
reg delete %%i /va /f
)
echo Delete Info and ShellFolder under HKEY_CURRENT_USER\Software\Classes\CLSID
for /f "tokens=*" %%a in ('reg query "HKEY_CURRENT_USER\Software\Classes\CLSID"') do (
for /f "tokens=*" %%l in ('reg query "%%a" /f "Info" /s /e ^| findstr /i "Info"') do (
echo Delete: %%a
reg delete %%a /f
)
for /f "tokens=*" %%l in ('reg query "%%a" /f "ShellFolder" /s /e ^| findstr /i "ShellFolder"') do (
echo Delete: %%a
reg delete %%a /f
)
)
这段批处理脚本旨在删除注册表中与Navicat Premium以及其他潜在应用程序相关的一些键值,试用期结束后执行一次这个脚本就可以重复试用。
设置Windows任务定时执行.bat文件
试用期结束后虽然可以执行脚本继续试用,但是需要每次手动执行,下一步就要设置一个系统任务,每隔一段时间自动执行一次.bat文件
第一步:打开任务计划程序
在Windows搜索栏中输入“任务计划程序”打开,或者快捷键Ctrl+R使用运行命令taskschd.msc打开任务计划程序。
第二步:创建基本任务
在任务计划程序库中,点击“创建基本任务”,在创建基本任务向导中,输入任务名称个任务描述,然后点击“下一页”
第三步:设置触发器
选择任务的触发器类型,如下图,可以根据需求选择,可以指定具体日期和时间,然后点击下一步
第四步:设置操作
这一步设置这个系统任务要做什么操作,这里我选择“启动程序”,然后点击“下一步”
第五步:指定程序和参数
这一步,指定系统任务要启动的程序,也就是这次任务要执行那个.bat文件,可以点击“浏览”按钮,选择文件系统中已经编辑好的脚本。
第六步:完成任务创建
确认前面的步骤都设置好,然后点击“完成就好”
我,剩余天数重置了: