V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wenbingkun
V2EX  ›  Windows

Windows 的 users 文件夹下生成的用户文件夹命名规则是什么?

  •  
  •   wenbingkun · 2022-08-02 10:37:07 +08:00 · 4685 次点击
    这是一个创建于 873 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前两天准备装一个 oh-my-posh,安装完之后 powershell 无法加载
    后来发现是因为 users 文件夹下生成的用户文件夹命名为中文
    http://supercloud.org.cn/imgs/ohmyposh.jpg
    但我另外一台电脑 users 文件夹下生成的用户文件夹命名是邮箱前几位数字
    http://supercloud.org.cn/imgs/user.jpg
    26 条回复    2022-08-02 15:35:32 +08:00
    baleeny
        1
    baleeny  
       2022-08-02 10:40:39 +08:00   ❤️ 2
    我一般先不登录微软账户,设置完用户名,进入系统之后再登录微软账户,这样用户文件夹就是自己设置的用户名。
    ScepterZ
        2
    ScepterZ  
       2022-08-02 10:46:11 +08:00
    如果你装系统的时候没登录,用的自定义名字,后边再登录邮箱,他会保留之前的名字,不过我没试过中文,不知道是不是这个情况
    TsubasaHanekaw
        3
    TsubasaHanekaw  
       2022-08-02 10:48:51 +08:00
    无解,要么装系统的时候离线
    要么装完就创建一个本地账号
    wenbingkun
        4
    wenbingkun  
    OP
       2022-08-02 10:50:11 +08:00
    我是装系统的时候直接登录的微软账户,但是两台电脑生成的文件夹命名不一样,一个是邮箱前几位数字,一个是中文用户名
    wenbingkun
        5
    wenbingkun  
    OP
       2022-08-02 10:51:28 +08:00
    如果把微软账户用户名改成英文,再次重装系统时登录账户是否会生成英文文件夹?
    selca
        6
    selca  
       2022-08-02 10:54:08 +08:00
    我把微软账户给换成 at@某域名了,现在用户路径是"at",感觉这样挺棒的
    ncepuzs
        7
    ncepuzs  
       2022-08-02 11:09:35 +08:00
    生成的 home 目录是中文的情况确实没见过,我一般不直接登录微软账号而是先创建本地账户

    另外,我之前用的也是 oh my posh 后来用 starship ( https://starship.rs/ )了
    lonewolfakela
        8
    lonewolfakela  
       2022-08-02 11:17:18 +08:00
    在很早(好几年前)的时候的 windows 版本是会默认使用微软账户姓名建立文件夹的,那样的话就可能出现中文。后来微软应该是发现这个问题了,所以比较新的 windows 版本会改用邮箱地址,就没有中文了。
    “如果把微软账户用户名改成英文,再次重装系统时登录账户是否会生成英文文件夹?”
    不会,那个文件夹名字是在创建这个文件夹的时候确定的,之后怎么搞都不会变了
    sbabybird
        9
    sbabybird  
       2022-08-02 11:18:39 +08:00
    用户文件夹可以修改,步骤大概如下:
    1 、启用 administrator 账号,并使用他登录;
    2 、进入注册表,搜索替换所有带有原用户文件夹名称的键值;
    3 、同理,替换系统变量中相应路径设置值;
    4 、可以使用老用户登录了,记得把 administrator 账号停用;
    zed1018
        10
    zed1018  
       2022-08-02 11:45:16 +08:00
    @sbabybird 这个操作挺危险的,不如新建一个本地账户重新登录
    zed1018
        11
    zed1018  
       2022-08-02 11:47:10 +08:00
    另外欢迎各位帮我投个票,OOBE 使用 msa 登录增加自定义用户目录名称的步骤,就像 macos 那样
    https://aka.ms/AAhko5i
    wenbingkun
        12
    wenbingkun  
    OP
       2022-08-02 11:50:35 +08:00
    @lonewolfakela 我两台电脑都是最近几个月的 win11 版本,但是两台电脑生成的文件夹命名不同
    wenbingkun
        13
    wenbingkun  
    OP
       2022-08-02 11:51:20 +08:00
    @sbabybird 我也觉得这个操作有风险
    me221
        14
    me221  
       2022-08-02 11:53:21 +08:00
    重装的时候选择离线, 然后自定义用户名

    命名规则好像是邮箱 @符号前的 5 个字母
    lonewolfakela
        15
    lonewolfakela  
       2022-08-02 12:14:04 +08:00
    @wenbingkun #12 你确定是最近重装的 win11 么?从旧的 win10 升级上来的话,文件夹名字也不会变的。
    arch9999
        16
    arch9999  
       2022-08-02 12:24:56 +08:00
    [email protected]

    创建用户之后,我的用户文件夹名称为 ABCDE (前五位)
    eason1874
        17
    eason1874  
       2022-08-02 12:29:19 +08:00
    可以改的,我改过

    先在控制面板改名字(这个是显示的,好像不改也不影响),然后在注册表改变量,也没几个要改的,因为正经程序都不会写死,会用 home 变量
    x86
        18
    x86  
       2022-08-02 12:31:20 +08:00
    @arch9999 #16
    我 abc1abc 这样的,生成的把我中间数字去掉了
    Tumblr
        19
    Tumblr  
       2022-08-02 13:45:23 +08:00
    应该不会是“生成的文件夹”为中文,中文目录名一般都是自己定义的,比如装完系统后用中文作为用户名。
    对于 Windows 的家目录,如果你用微软账户登录,Windows 会默认使用你邮箱的前 5 个字符作为文件夹名字;如果你用本地账户,由以本地账户的账户名为文件夹名字。
    这个文件夹名字是可以修改的,但是微软“极度不建议”这样做。

    单就这个问题来说,看上去是编码问题,把 PowerShell 的 encoding 改成 UTF8 应该就可以了。
    [System.Console]::InputEncoding = [System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(65001)
    如果不行就:
    [System.Console]::InputEncoding = [System.Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding(936)
    doveyoung
        20
    doveyoung  
       2022-08-02 13:56:00 +08:00
    命名规则楼上已经说过了
    如果想要自定义的用户名,建议新建一个本地管理员账户,名字按自己的想法取,然后用新建的本地账户登录,删掉以前的账户,再登录微软账号;
    当然两个账户的数据之类的需要自己做一下同步
    非常不推荐修改注册表
    EvanQu
        21
    EvanQu  
       2022-08-02 14:19:14 +08:00
    @baleeny #1 巧了 我也这么干
    elfive
        22
    elfive  
       2022-08-02 14:26:42 +08:00 via iPhone
    @me221 脱机账户是全名作为文件名,联机账户是邮箱前 5 个字符作为文件名
    geelaw
        23
    geelaw  
       2022-08-02 15:10:38 +08:00
    默认情况下文件夹的名字是 Windows 账户名(本地账户或者域账户),如果你在 OOBE 的过程中使用 Microsoft account ,那么本地账户名是邮箱 @ 之前的前五个字符。

    如果 C:\Users\账户名 已经存在,那么会改成 C:\Users\账户名.计算机名 或者 C:\Users\账户名.域名,取决于这个账户是本地账户还是域账户。我不知道这两个都存在的时候会如何命名。

    我不知道任何受支持的修改账户资料路径的方法,但可以用 sysdm 删除账户资料文件夹,下次登录的时候会重新按照当前的账户名创建。

    假设你在 OOBE 阶段使用的 Microsoft account 是 someone @ example.com ,那么默认情况下账户名是 someo ,账户资料文件夹是 C:\Users\someo ,此时可以这样达到修改路径的目的:

    1. 备份 C:\Users\someo 。
    2. 注销 someo ,用其他(管理员)账户登录,打开 sysdm ,删除 someo 的账户资料文件夹。
    3. 打开 lusrmgr ,修改 someo 的账户名为希望的名字,并确保 C:\Users 下没有这个名字的文件、文件夹。
    4. 登录修改了名字的 someo ,还原(可还原的)资料。

    最后,请给 oh-my-posh 提交 bug 信息,现代 Windows 程序必须处理任何 Win32 可接受的 blob 作为文件名,无论是 Unicode 字符还是具有编码错误的 UTF-16 序列。
    dingwen07
        24
    dingwen07  
       2022-08-02 15:25:10 +08:00 via iPhone
    这个问题应该反馈给 oh-my-posh 的作者
    wenbingkun
        25
    wenbingkun  
    OP
       2022-08-02 15:28:19 +08:00
    @dingwen07 @geelaw 谢谢提醒,接下来我会给 op-my-posh 作者提 bug
    flynaj
        26
    flynaj  
       2022-08-02 15:35:32 +08:00 via Android
    首次登陆的用户名是什么就是什么,中文目录名称引发的软件 bug 可是有无数个了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2555 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:09 · PVG 11:09 · LAX 19:09 · JFK 22:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.