基于此文: 微软社区《修改 Windows 用户账户文件夹路径,以改善应用程序兼容性》
适用于: Windows Vista 以上
如果初次设置 Windows 账户时使用的账户名为中文(或日韩文、特殊符号等),则此后用户目录将为 C:\Users\中文用户名
,且该文件夹的名称不能随意更改。
一部分应用程序无法处理这样的用户目录,因此产生兼容性问题。这里提供一种规避的办法,它不修改该文件夹本身,而是创建一个到该文件夹的联接(junction)来提供不带中文字符的目录重定向。
-
按 Win(键盘上画有 Windows 徽标的键)+ R 键,打开“运行”对话框
-
在对话框中输入
POWERSHELL.EXE Start-Process POWERSHELL -ArgumentList """SET-ITEM ENV:USERNAME '$ENV:USERNAME';SET-ITEM ENV:USERPROFILE '$ENV:USERPROFILE';POWERSHELL""" -Verb RunAs
,按回车执行,打开蓝色的 PowerShell 窗口 -
执行
NET USER Temp /ADD;NET LOCALGROUP Administrators Temp /add
(粘贴到窗口内并按回车键),创建一个名为 Temp 的备用账户,以防操作失误导致无法登录当前账户如果您 确信 已存在其他具有管理员权限的备用账户,且 可以正常登入,则此步可省略。例如,在某些计算机上,超级管理员账户 Administrator 是可访问的。
-
执行
$NEW_USERNAME="新用户名"
(这里须将引号内替换为想要的新用户名,不含中文,注意保留 原有的 引号)用户名不可与已有用户名重复,如果输错了要改,重新执行这一行即可。
-
执行
if ((Test-Path -path $ENV:USERPROFILE\..\$NEW_USERNAME) -EQ $False) {CMD /C"MKLINK /J "%USERPROFILE%\..\$NEW_USERNAME" "%USERPROFILE%"";$NEW_USERPROFILE=(Resolve-Path $ENV:USERPROFILE\..\$NEW_USERNAME);$SID=(New-Object System.Security.Principal.NTAccount $ENV:USERNAME).Translate([System.Security.Principal.SecurityIdentifier]).Value;$KEYNAME="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$SID";$BACKUP="C:\USER-$ENV:USERNAME-INFO.reg";REG EXPORT "$KEYNAME" "$BACKUP";if (Test-Path -path "$BACKUP") {"已备份注册表到文件: $BACKUP";REG ADD "$KEYNAME" /V ProfileImagePath /T REG_EXPAND_SZ /D $NEW_USERPROFILE /F} ELSE {"注册表备份失败; 已终止, 目前尚未对注册表进行任何修改"}} ELSE {"在 $(Resolve-Path $ENV:USERPROFILE\..) 下已经存在名为 $NEW_USERNAME 的文件夹或联接, 请更改名称"}
(注意:务必先将这段代码粘贴到记事本中,删去 CSDN 添加的版权信息后,才能粘贴到 PowerShell 窗口) -
应该看到在屏幕底端依次出现如下 4 行,则操作成功:
为 C:\Users\(原用户名)\…\新用户名 <<===>> C:\Users\原用户名 创建的联接
操作成功完成。
已备份注册表到文件: C:\USER-(原用户名)-INFO.reg
操作成功完成。 -
重启计算机,应能够正常登入账户,此时 Windows 已经使用创建的联接作为用户文件夹,出现的兼容性问题应已解决
-
请务必查看文末的注意事项!
如果重启后无法登录原有账户:
- 使用备用账户 Temp 登入
- 双击打开 C 盘下的“USER-(原用户名)-INFO.reg”文件
- 弹出对话框,点击“是”导入注册表,确认看到成功提示
- 重启计算机
如果操作成功后,要删除临时的备用账户:
- 按 Win + R 键,打开“运行”对话框
- 键入
Control -Name Microsoft.UserAccounts -Page pageAdminTasks
并执行,打开账户管理面板 - 删除该备用账户
注意事项:
- 新目录仅仅是原本带中文的用户目录的“快捷方式”,而非拷贝,所有用户数据仍在原来的位置,因此原本的用户文件夹不可删除!
- 务必妥善保存 C 盘下的“USER-(原用户名)-INFO.reg”文件,双击导入该文件(然后重启)可恢复原本的注册表内容,即换回原用户名;但是不推荐这样做,因为使用了一段时间后,一些应用程序可能已经记下了新目录的位置,再度改回原本的位置可能导致错误!