由王小石 (microsoft.com) 创建的文章
摘要
当您的用户账户文件夹名称包含中文字符、特殊符号(例如空格)等特殊内容时,部分应用程序可能无法正常工作。此篇文章将提供一种解决方法以改善该问题。
适用于以下 Windows 版本:
Windows 7
Windows 8
Windows 8.1
Windows 10
Windows 11
详细信息
从 Windows Vista 开始,微软将用户配置文件存放到 C:\Users 文件夹(驱动器C通常为 Windows 启动分区,如果您使用的是中文语言看到的应该是 “C:\用户 “”文件夹),而在更早的版本中(例如 Windows XP )用户配置文件存放在 C:\Documents and Settings 这样的文件夹中,这样的变更带来了兼容性问题,一些程序将 C:\Documents and Settings 这样的路径固化在代码中,如果此路径不可访问程序将出现异常或者直接退出。
为了改善这个问题,微软使用了"符号链接",在 Windows Vista 及更高版本中当程序要访问 C:\Documents and Settings 这样的路径时,会自动重定向到 C:\Users 文件夹,这样在程序看来自己依然是在访问 C:\Documents and Settings 没有任何问题,但实际的数据读写都由 Windows 转到 C:\Users 完成。
此篇文章借鉴了这一做法,如果当前您的用户账户文件夹名称由于包含中文字符、特殊符号等内容导致某些程序无法正常工作时可以按照文章中的操作创建符号链接,将用户账户文件夹修改到名称更规范的路径上。让我们开始吧!
步骤
按下 键(Windows 徽标键 +R键),将打开“运行”对话框,复制以下命令粘贴到对话框中然后按回车键(Enter)执行:
POWERSHELL.EXE Start-Process POWERSHELL -ArgumentList """SET-ITEM ENV:USERNAME '$ENV:USERNAME';SET-ITEM ENV:USERPROFILE '$ENV:USERPROFILE';POWERSHELL""" -Verb RunAs
命令将以管理员身份运行 PowerShell 并将一些必要的信息保留下来,随后请继续复制下面的命令并在 PowerShell 中粘贴执行:
$NEW_USERPROFILE="UserX";if ((Test-Path -path $ENV:USERPROFILE\..\$NEW_USERPROFILE) -EQ $False) {NET USER Temp /ADD;NET LOCALGROUP Administrators Temp /add;$SID= (New-Object System.Security.Principal.NTAccount $env:USERNAME).Translate([System.Security.Principal.SecurityIdentifier]).Value;REG EXPORT "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$SID" "$env:PUBLIC\Desktop\User-$env:USERNAME-info.reg"} ELSE {"已经存在$NEW_USERPROFILE文件夹,请不要继续执行后面的命令"}
当显示“操作成功完成。”时即表示命令结束,命令会新增一个名为 Temp 的账户并将其也设置为管理员,同时会在桌面上生成一个名为 “User-xxxx-info”的文件(xxxx为您的用户名),这是当前账户的注册表备份文件,请妥善保存生成的文件在出现错误时您还可以登录 Temp 账户打开该文件进行还原。
确认“User-xxxx-info”文件已经正确生成后,请继续复制下面的命令并在 PowerShell 中粘贴执行:
if (Test-Path -path "$env:PUBLIC\Desktop\User-$env:USERNAME-info.reg") {CMD /C"MKLINK /J "%USERPROFILE%\..\$NEW_USERPROFILE" "%USERPROFILE%"";REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\$SID" /V ProfileImagePath /T REG_EXPAND_SZ /D (Resolve-Path $ENV:USERPROFILE\..\$NEW_USERPROFILE) /F}
当显示“操作成功完成。”时即表示命令结束,命令会创建符号链接,并将用户账户文件夹修改为 UserX 完整路径为:C:\Users\UserX
当上述操作都成功完成后 PowerShell 中显示的内容应该和下面的示例图片相似,操作完成后请重新启动计算机,启动后 Windows 将使用 UserX 作为新的用户账户文件夹。
(示例)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!