Edge中Copilot消失问题解决
我发现有些电脑用Edge就没有Copilot,去搜索了一下发现Edge的Copilot在中国区会自动隐藏起来,而直接修改 %LOCALAPPDATA%\Microsoft\Edge\User Data\Local State文件中的本地位置就直接可以解决这个问题。
解决
可以用下面的PowerShell脚本直接解决
1. 创建脚本文件
- 在电脑任意位置(例如桌面或文档中)新建一个文本文档。
- 将下面的代码复制并粘贴进去。
- 将文件保存,并重命名为
EdgeHK.ps1(注意后缀名必须是.ps1而不是.txt)。
# EdgeHK.ps1
# ----------------------------------------------------
# 脚本功能:关闭Edge,修改Local State文件中的地区为HK
# ----------------------------------------------------
# 1. 定义文件路径
$localStatePath = "$env:LOCALAPPDATA\Microsoft\Edge\User Data\Local State"
$backupPath = "$localStatePath.bak"
Write-Host "正在检查 Edge 进程..." -ForegroundColor Cyan
# 2. 确保后台没有 Edge 进程
# -ErrorAction SilentlyContinue 表示如果没有进程也不报错
Stop-Process -Name msedge -Force -ErrorAction SilentlyContinue
Stop-Process -Name msedgewebview2 -Force -ErrorAction SilentlyContinue
# 等待2秒确保文件锁被释放
Start-Sleep -Seconds 2
# 3. 检查文件是否存在
if (Test-Path $localStatePath) {
Write-Host "找到配置文件,正在读取..." -ForegroundColor Green
# 4. 读取并解析 JSON
try {
$jsonContent = Get-Content -Path $localStatePath -Raw -Encoding UTF8
# ConvertFrom-Json 会将 JSON 转换为 PowerShell 对象
$jsonObj = $jsonContent | ConvertFrom-Json
# 简单的备份(覆盖式)
Copy-Item -Path $localStatePath -Destination $backupPath -Force
# 5. 修改或添加 variations_country 键值
# 注意:PowerShell 对象可以直接操作属性
if ($null -ne $jsonObj.variations_country) {
Write-Host "当前值为: $($jsonObj.variations_country),正在修改为 HK..."
$jsonObj.variations_country = "HK"
} else {
Write-Host "键不存在,正在添加 variations_country = HK..."
# 如果对象里没有这个属性,我们需要添加成员
$jsonObj | Add-Member -Type NoteProperty -Name "variations_country" -Value "HK"
}
# 6. 保存回文件
# -Depth 100 非常重要,因为 Edge 的配置文件层级很深,默认层级不够会导致数据丢失
# -Compress 用于压缩 JSON (去掉多余空格),保持文件紧凑,Edge 默认是压缩格式
$jsonObj | ConvertTo-Json -Depth 100 -Compress | Set-Content -Path $localStatePath -Encoding UTF8
Write-Host "修改成功!" -ForegroundColor Green
}
catch {
Write-Error "发生错误:$_"
}
} else {
Write-Warning "未找到文件:$localStatePath"
}
# 如果你想看结果,可以取消下面这行的注释(去掉#号)
# Read-Host "按回车键退出..."
注意!有的时候用Win10会出现编码错误的问题,将代码直接复制粘贴在Windows PowerShell ISE中保存可以正常运行,右键ps1文件点击编辑就可以用这个打开,主要的核心问题就是Win10的 PowerShell 在运行的时候中文用Utf-8的编码会乱码报错,要使用GB2312 也就是 GBK编码才行
2. 运行方式(三种选择)
方式 A:单次手动运行
右键点击 EdgeHK.ps1 文件,选择 “使用 PowerShell 运行”。
方式 B:每次启动电脑自动运行(推荐)
为了实现“每次启动”都执行,我们需要将其放入启动文件夹。
- 按下键盘上的
Win + R键,打开“运行”窗口。 - 输入
shell:startup并回车,这会打开“启动”文件夹。 - 不要直接把
.ps1文件放进去(因为直接放进去通常会用记事本打开,而不是运行)。 - 在启动文件夹中,右键 -> 新建 -> 快捷方式。
- 在“请键入对象的位置”中,输入以下内容(请修改为您实际存放脚本的路径):
powershell.exe -ExecutionPolicy Bypass -File "C:\你的脚本存放路径\EdgeHK.ps1"
例如,如果你把脚本放在C盘根目录,那就是:powershell.exe -ExecutionPolicy Bypass -File "C:\EdgeHK.ps1"
6. 点击下一步,随便起个名字(例如 EdgeHK_Auto),点击完成。
以后每次开机,它都会闪过一个黑框,自动帮你修改该文件。
方式 C:通过双击 BAT 文件运行(方便日常点击)
如果你不想开机自启,而是想每次用 Edge 前点一下,可以创建一个 .bat 文件:
- 新建文本文档,粘贴以下内容:
@echo off PowerShell.exe -ExecutionPolicy Bypass -File "EdgeHK.ps1"
1. 保存为 RunEdgeHK.bat(放在与 .ps1 同一目录下)。
- 双击这个
.bat文件即可运行。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果