Beyond Compare 4“这个授权密钥已被吊销”的解决办法

网上有的帖子很不负责任,让你删除C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyond Compare 4下面所有文件,

这样是能解决问题,但太过粗暴。BCSessions.xml里面有你添加的过滤器。BCCommands.xml里面有工具栏上的按钮。删了的话,又得重新添加一遍。

正解是删除相应文件中的关键内容即可,写了个批处理,大家拿到之后改一下路径就可以使用:
 

reg delete "HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4" /v CacheID /f

@echo off
setlocal enabledelayedexpansion

set "xmlFilePathBCState=C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyond Compare 4\BCState.xml"

rem 删除 BCState.xml 中 TCheckForUpdatesState 节点下的 CheckID 和 LastChecked 子节点
powershell -Command ^
    "$xmlContent = Get-Content '%xmlFilePathBCState%';" ^
    "$xmlContent = $xmlContent -replace '(\r?\n)', '';" ^
    "$xmlContent = $xmlContent -replace '(\r?\n)', '';" ^
    "$xmlContent | Set-Content '%xmlFilePathBCState%'"

rem 删除 BCSessions.xml 中指定节点的属性
set "xmlFilePathBCSessions=C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyond Compare 4\BCSessions.xml"
powershell -Command "& { [xml]$xml = Get-Content '%xmlFilePathBCSessions%'; $xml.BCSessions.RemoveAttribute('Flags'); $xml.Save('%xmlFilePathBCSessions%') }"

endlocal

参考:
简书:有效解决Beyond Compare “这个授权密钥已被吊销”的办法

你可能感兴趣的:(PowerShell,批处理,BeyondCompare)