2024-12-02 更新
2024-11-22 更新
通过脚本重置Navicat试用期的方法(适用于Mac和Windows)
本文介绍如何通过脚本重置Navicat的试用期,分为Mac和Windows两种环境的详细操作步骤。
添加这个sh脚本,找个位置放置:
vim /Users/*******/home/scripts/navicat/NavicatRest.sh
内容如下:
bash#!/bin/bash
# Navicat trial reset
NAVICAT_FOLDER=~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat\ CC/Navicat\ Premium
# Check if the Navicat folder exists before deleting it
if [ -d "$NAVICAT_FOLDER" ]; then
rm -rf "$NAVICAT_FOLDER"
else
echo "Navicat folder not found"
exit 1
fi
# Find the Navicat preferences file
NAVICAT_FILENAME=$(ls -d ~/Library/Preferences/* | grep -i navicat)
# Check if the preferences file exists before using it
if [ -f "$NAVICAT_FILENAME" ]; then
TRIAL_KEY=$(plutil -p "$NAVICAT_FILENAME" | grep -E "[0-9A-F]{32}" | head -n 1 | awk '{print $1}' | tr -d \")
# Check if the TRIAL_KEY is not empty before removing it
if [ -n "$TRIAL_KEY" ]; then
plutil -remove "$TRIAL_KEY" "$NAVICAT_FILENAME" > /dev/null
else
echo "Trial key not found"
exit 1
fi
else
echo "Navicat preferences file not found"
exit 1
fi
open -a "Navicat Premium"
bashcd ~/Library/LaunchAgents/
添加一个定时任务: vim navicat.replace.plist
内容如下:
plist<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.runbashscript</string>
<key>ProgramArguments</key>
<array>
<string>/Users/*******/home/scripts/navicat/NavicatRest.sh</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>13</integer>
<key>Minute</key>
<integer>10</integer>
</dict>
</dict>
</plist>
shplutil -lint ~/Library/LaunchAgents/navicat.replace.plist
正确则会输出:/Users/~/LaunchAgents/navicat.replace.plist: OK
shchmod 644 ~/Library/LaunchAgents/navicat.replace.plist
chmod +x /Users/*******/home/scripts/navicat/NavicatRest.sh
shlaunchctl unload ~/Library/LaunchAgents/navicat.replace.plist
shlaunchctl load ~/Library/LaunchAgents/navicat.replace.plist
shlaunchctl list | grep com.user.runbashscript
成功则显示如下:
sh*******@Golovins-MacBook-Pro ~ % launchctl list | grep com.user.runbashscript - 0 com.user.runbashscript
将以下脚本添加到 ~/.zprofile
或其他Shell配置文件中
bashnavicat() {
NAVICAT_FOLDER=~/Library/Application\ Support/PremiumSoft\ CyberTech/Navicat\ CC/Navicat\ Premium
# Check if the Navicat folder exists before deleting it
if [ -d "$NAVICAT_FOLDER" ]; then
rm -rf "$NAVICAT_FOLDER"
else
echo "Navicat folder not found"
return 1
fi
# Find the Navicat preferences file
NAVICAT_FILENAME=$(ls -d ~/Library/Preferences/* | grep -i navicat)
# Check if the preferences file exists before using it
if [ -f "$NAVICAT_FILENAME" ]; then
TRIAL_KEY=$(plutil -p "$NAVICAT_FILENAME" | grep -E "[0-9A-F]{32,32}" | head -n 1 | awk '{print $1}' | tr -d ")
# Check if the TRIAL_KEY is not empty before removing it
if [ -n "$TRIAL_KEY" ]; then
plutil -remove "$TRIAL_KEY" "$NAVICAT_FILENAME" > /dev/null
else
echo "Trial key not found"
return 1
fi
else
echo "Navicat preferences file not found"
return 1
fi
open -a "Navicat Premium"
exit
}
打开终端,编辑Shell配置文件:
bashnano ~/.zprofile
将上述脚本粘贴到文件末尾并保存。
运行以下命令使配置生效:
bashsource ~/.zprofile
每次需要重置试用期时,在终端中运行:
bashnavicat
脚本会自动清除试用期记录并启动Navicat。
以下是PowerShell版本的脚本,将其保存为 .ps1
文件。
powershellfunction Reset-NavicatTrial { # Navicat 配置文件夹路径 $NavicatFolder = "$env:APPDATA\PremiumSoft\Navicat" # 检查并删除 Navicat 配置文件夹 if (Test-Path $NavicatFolder) { Remove-Item -Recurse -Force $NavicatFolder Write-Host "Navicat folder removed." } else { Write-Host "Navicat folder not found." return } # 查找偏好文件 $PreferenceFiles = Get-ChildItem "$env:APPDATA" -Recurse -Include "*.plist" | Where-Object { $_.Name -match "navicat" } if ($PreferenceFiles.Count -gt 0) { foreach ($file in $PreferenceFiles) { try { Remove-Item $file.FullName -Force Write-Host "Preference file removed: $($file.FullName)" } catch { Write-Host "Failed to remove: $($file.FullName)" } } } else { Write-Host "No preference files found." } # 启动 Navicat $NavicatPath = "C:\Program Files\PremiumSoft\Navicat Premium\navicat.exe" if (Test-Path $NavicatPath) { Start-Process $NavicatPath Write-Host "Navicat started." } else { Write-Host "Navicat executable not found at $NavicatPath." } }
将上述脚本保存为 ResetNavicatTrial.ps1
文件。
打开PowerShell并运行脚本:
powershell.\ResetNavicatTrial.ps1
如果需要全局使用该功能,可将脚本内容添加到PowerShell配置文件:
powershellnotepad $PROFILE
在打开的文件中粘贴脚本内容并保存。
若遇到权限问题,运行以下命令解除限制:
powershellSet-ExecutionPolicy RemoteSigned
每次需要重置试用期时,运行以下命令:
powershellReset-NavicatTrial
注意事项
本文作者:Golovin
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!