windows 10中需满足系统版本≥1803、ntfs分区、已启用wsl并重启,以管理员身份运行powershell执行fsutil命令启用指定文件夹大小写敏感,路径须加英文双引号且不带末尾反斜杠。

在Windows 10中让某个文件夹像Linux一样区分大小写(例如允许同时存在Readme.md和README.MD),必须通过NTFS的CaseSensitive标志启用,且仅对该文件夹生效,不继承子目录。
确认系统前提条件
先检查你的环境是否满足硬性要求:当前系统版本需为Windows 10 build 17134(1803)或更高;所在磁盘分区必须是NTFS格式;已启用“适用于Linux的Windows子系统”(WSL)。缺一不可,否则后续命令会直接报错“不支持该请求”。
打开“控制面板→程序→启用或关闭Windows功能”,勾选【适用于Linux的Windows子系统】,重启电脑。未重启则命令无效。
以管理员身份运行PowerShell
右键开始菜单→选择“Windows PowerShell(管理员)”,等待窗口弹出。不要用普通用户权限,否则fsutil会拒绝执行。
这一步操作起来很简单,直接把文件拖进去就行——但必须是管理员身份,普通窗口里敲任何命令都会失败。
启用指定文件夹的大小写敏感
在管理员PowerShell中输入以下命令(将D:\MyGitRepo替换为你实际的文件夹完整路径):
fsutil.exe file setCaseSensitiveInfo "D:\MyGitRepo" enable
注意路径必须用英文双引号包裹,尤其当路径含空格或中文时;路径末尾不能加反斜杠;命令区分大小写,setCaseSensitiveInfo中间无空格、首字母小写。输错一个字符就会提示“参数错误”。
执行成功后无任何输出,属于静默成功。可立即用fsutil.exe file queryCaseSensitiveInfo "D:\MyGitRepo"验证返回结果中是否含Case sensitive is enabled。
批量为子文件夹启用(如需)
fsutil默认不递归处理子目录,若要让整个项目树都区分大小写,需逐层设置。可用以下PowerShell脚本一次性完成:
Get-ChildItem "D:\MyGitRepo" -Directory -Recurse | ForEach-Object { fsutil.exe file setCaseSensitiveInfo $_.FullName enable }
运行前请确保父文件夹已启用,否则子目录命令会因权限链断裂而失败。该脚本不处理文件,只遍历文件夹;遇到权限拒绝的目录会跳过并继续,不会中断。











