Win10修改C:\Users\中文用户名

2022.07.31

  1. 脚本有朋友不成功,同学们先按照文下面步骤手动操作吧
  2. 有同学反馈修改之后微软账户密码错误,保险起见,修改前先退出微软账户

2022.02.08 更新

人终究会犯错,不如整个脚本?

如果你能成功执行脚本,那么这篇文章可以不用往下看了.

注:方法和代码均由作者原创,各位成功了我求个赞不过分吧(手动狗头)

源代码如下,也可自行新建 txt 文档, 粘贴代码, 修改后缀名为 bat, 双击执行

@REM 提升管理员权限: 用于修改注册表
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"

SETLOCAL ENABLEDELAYEDEXPANSION
echo 当前用户为: %USERNAME%
echo 用户目录为: %USERPROFILE%
echo ==================================================
echo 输入修改用户名:
set /p name=
echo ==================================================

set dir=%USERPROFILE%
set "dir=!dir:%USERNAME%=%name%!"
echo 注: 新文件夹是旧文件夹的快捷方式,不影响原有数据
choice /m "确认将用户文件夹 \"%USERPROFILE%\" 修改为 \"%dir%\" "
if %ERRORLEVEL%==1 goto begin
if %ERRORLEVEL%==2 goto end

:end
echo 执行结束
goto dPause

:begin
echo ==================================================
echo No.1: 创建新文件夹并映射到旧文件夹
mklink /j %dir% %USERPROFILE%

echo ==================================================
echo No.2: 查找注册表
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /s /f %USERPROFILE% /c /e | findstr "ProfileImagePath" && goto findSuccess || goto findError

:findError
echo 注册表查找失败,执行结束
goto dPause

:findSuccess
echo ==================================================
echo No.3: 修改注册表
for /f "delims=" %%i in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /s /f %%USERPROFILE%% /c /e ^| findstr "ProfileList"') do set key=%%i
reg add "%key%" /v "ProfileImagePath" /t REG_EXPAND_SZ /d %dir% /f
echo 修改注册表完成,所有工作均已完成

echo ==================================================
echo 请自行 重新登录 或者 重启, 以完成变更
goto dPause

:dPause
pause
echo 请自行 重新登录 或者 重启, 以完成变更
pause

前言

许多软件对于中文的文件路径支持非常的不友好,

坑爹的 Windows 也很难修改, 即使我们将用户名修改成英文,这个文件夹仍然是中文.

许多同学只能无奈的新建用户,甚至重买电脑

经过我的探索,终于找到了一个可以稳定修改的办法

步骤

1.映射新旧文件夹

在开始菜单中搜索 cmd,并以管理员身份运行,否则会发生拒绝访问

输入 mklink /j C:\Users\英文名 C:\Users\中文名 后回车.

注意是 mklink (空格) /j (空格) C:\Users\英文名 (空格) C:\Users\中文名

如无意外, C:\Users 文件夹下将多出一个英文名文件夹,并且实际就是中文名文件夹的软连接(快捷方式).

注意核对一下步骤1是否正确 (来自评论区 @剑炜 血的教训)

从我的电脑进 "C:\Users" 文件夹,尝试点击进入 "Happy" 文件夹,如果能正常跳转到 "想哭的中文名",

再执行下一步操作

2.修改注册表

快捷键 win+R 打开运行,输入 regedit 后回车打开注册表编辑器,在上方输入

Hkey_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist

回车

Profilelist下有几个文件夹,依次点击,并在右侧找名称为 ProfileImagePath 的键且它的数据是原中文名路径(C:\Users\想哭的中文名)

双击进入编辑,将它的数值数据修改为你刚刚cmd中新建的英文文件名

关闭注册表编辑器,修改完成,可能需要重新登录或者重启


其他问题

1. 为什么我的 XXX 软件还是不能正常使用?

如果是修改前安装的软件,你需要卸载并重新安装该软件,这样它的安装路径就会是新的、没有中文的路径,这样它才能正常使用.

2. 我后悔了,怎么回滚上述变更?

步骤一. 同上修改注册表,改回原来的中文文件夹.

步骤二. 删除后来新建的英文文件夹.

因为英文文件夹只是中文文件夹的快捷方式,放心删

3. 对我的已有数据/已安装应用有什么影响?

没有任何影响,这也是为啥问题1要重装程序的原因,这也是为啥问题2可以随便删的原因。

编辑于 2022-07-31 15:34