我遇到的原因是我使用的windows10的系统用户名是中文名,下面假设我的用户名是“鲁智深”
解决的方法可以参考这篇文章:
计算机用户名是中文名导致软件安装失败
https://blog.youkuaiyun.com/qq_38232598/article/details/102836028
无需修改当前windows10的用户名,只需做一个链接,并修改注册表即可。
上面文章是使用mklink命令,我是使用junction命令。junction可到如下地址下载。
https://learn.microsoft.com/en-us/sysinternals/downloads/junction
解决问题的思路:
在操作系统的c:\Users目录下,建立一个链接,指向c:\Users\鲁智深,假设我建立的是ASUS
也就是说在c:\Users\ASUS也是指向c:\Users\鲁智深,实际都是存储在c:\Users\鲁智深。
建立链接目录的 命令
.
// 建立一个链接
junction "C:\Users\ASUS" "C:\Users\鲁智深"
// 查看链接
c:
cd \Users
dir/ad|findstr JUNCTION
dir/ad/os
然后修改如下的注册表:
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
ProfileList c:\Users\鲁智深---->c:\Users\ASUS
最后重新启动系统就能解决问题了。
这样可以继续保留中文的用户名,在系统里面切换到命令行提示符,显示的用户名变成C:\Users\ASUS,至于原来安装的软件,继续使用C:\Users\鲁智深并无问题。通过这个方法顺便也解决了zenmap无法在中文用户名下启动的问题,不需要切换到另外一个英文用户下执行了。
Junction还可以用于调整程序安装位置:
除了在保留当前中文用户名的情况下使用英文名用户名环境,还可以用于程序安装位置迁移而不改动目录,起一个别名就好,例如下面的用途:迁移家中剪映的配置到单位的电脑。
因为家里的电脑安装在缺省位置,单位电脑想安装在L:\JianyingPro,可以把配置文件拷贝到L盘的指定位置,然后在c:\Users\鲁智深下面设置一个链接目录,指向需要的位置,如果以后要换到别的盘,就设置指向别的盘。
建立链接目录的 命令
.
// 建立一个链接
junction "C:\Users\鲁智深\AppData\Local\JianyingPro\User Data" "L:\JianyingPro\User Data"
// 如何要换到别的盘符,可删除一个链接,再重建
junction -d "C:\Users\鲁智深\AppData\Local\JianyingPro\User Data"
junction "C:\Users\鲁智深\AppData\Local\JianyingPro\User Data" "X:\JianyingPro\User Data"
2025-1-17
存在的问题
突然发现微软小娜(Cortana)异常,这个用户下搜索异常,有的软件本来有安装,搜不到了,切换到另外一个用户名之下,微软小娜(Cortana)正常。断断续续折腾了一些日子,把控制面板—大图标----索引选项中重建索引,也不行,后面初始化索引设置,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search中的名为SetupCompletedSuccessfully的键设置为0,索引配置初始化,确实初始化了,但是重启动后也不行,这种修改用户名会导致微软小娜(Cortana)异常? 然后把计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\回复回来,恢复为原来的中文名,哈哈哈,微软小娜(Cortana)正常了,这个用户名的环境下可以正常搜索了,但是又回到初始的问题,PyCharm Community Edition启动失败。 那么能不能微软小娜(Cortana)的搜索 和 PyCharm 同时能正常呢?找时间再看看如何解决。是否可以程序动态修改注册表,启动PyCharm后改回来注册表中的用户名,待解决,后面经过测试:采用修改注册表的用户名的方法,不能同时同时保证微软小娜和PyCharm均可用。可能有的地方改少了,导致搜索异常。最终摸索出一个不要修改注册表,只需建立目录链接的方法,这样可正常启动PyCharm,同时不影响微软小娜。
最终解决方法
使用这个批处理命令去替换PyCharm快捷方式中的命令,增加一行设置USERPROFILE为英文名的用户名,加上前面建立的目录链接,这样就可以不用修改注册表启动pycharm了,同时也能保证微软小娜(Cortana)的搜索正常。经过测试目前正常,可能需要更长时间使用,看看是否能不能同时保证微软小娜(Cortana)正常,同时也能启动pycharm。
以后新电脑不要使用中文去建立用户名,在使用一些外国的程序,有时会有一些奇怪的问题。不过,现在只能继续沿用中文用户名了,太多软件和配置,难于迁移。
startup_pycharm.bat
REM 使用这个批处理命令去替换PyCharm快捷方式中的命令,启动前设置一个环境变量为英文名,前面对应有个目录链接指向原来的中文名
set USERPROFILE=C:\Users\ASUS
"L:\Program Files\PyCharm Community Edition 2024.3\bin\pycharm64.exe"
采用这种方法,就可以解决了。
2025-1-26
总结一下方法二,不改注册表的方法,我尽量写详细一些。
第一步、去微软的网站下载junction,地址上面有写。工具软件很小,几百K,不到1M。
假设你把下载的junction存在d:\tools目录下,建立一个目录(文件夹)d:\tools
第二步、对于中文路径建立一个英文的别名
用管理员模式去进入命令窗口,进入d:\tools目录,命令如下:
# 切换到d:盘
d:
# 进入到d:\tools
cd d:\tools
# 检查看看junction.exe是否存在
dir junc*.*
# 建立一个目录链接,可以理解为把中文路径名用英文路径名取代,注意,"鲁智深"和"ASUS"后面不要带\
junction "C:\Users\ASUS" "C:\Users\鲁智深"
#验证链接(别名)生效,比较这2个命令的输出,结果是一模一样的,就证明建立成功了
dir C:\Users\ASUS
dir C:\Users\鲁智深
第三步、建立一个startup_pycharm.bat批处理,用于启动绕过中文用户名去启动pycharm
假设批处理依然存在d:\tools下,用如下命令:
notepad d:\tools\startup_pycharm.bat
把下面的内容复制进去,其中启动命令可以自行修改为自己的安装目录所在的路径,选择桌面图标上的pycharm快捷方式,右键属性,查看路径,复制出来替换,保存,退出。
REM 使用这个批处理命令去替换PyCharm快捷方式中的命令,启动前设置一个环境变量为英文名,前面对应有个目录链接指向原来的中文名
set USERPROFILE=C:\Users\ASUS
REM 以下根据您安装的实际路径替换
"L:\Program Files\PyCharm Community Edition 2024.3\bin\pycharm64.exe"
好了,现在修改桌面图标PyCharm Community Edition 2024.3之类的快捷方式的图标,右键,属性,修改快捷方式中的目标为: d:\tools\startup_pycharm.bat,这样就可以了。
我认为已经写得很详细了。
2025-7-26