前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Windows 260字符路径限制可以用subst映射新盘符来缩短,也可以用mklink

Windows 260字符路径限制可以用subst映射新盘符来缩短,也可以用mklink

原创
作者头像
Windows技术交流
修改于 2024-05-10 04:19:59
修改于 2024-05-10 04:19:59
86300
代码可运行
举报
文章被收录于专栏:Windows技术交流Windows技术交流
运行总次数:0
代码可运行

复制文件夹遇到了这个提示:文件名对目标文件夹可能太长。你可以缩短文件名并重试,或者尝试路径较短的位置。

创建文件夹遇到这个提示:文件名或扩展名太长。

启用长路径支持可能会影响某些应用程序的兼容性,更建议参考操作系统自己的提示:文件名对目标文件夹可能太长。你可以缩短文件名并重试,或者尝试路径较短的位置。

如果必须突破260字符限制,有注册表方法或subst.exe两种方法:最新版win10/win11默认已经突破,无需操作,server2016/2019/2022/2025则需要LongPathsEnabled注册表项置为1;低版本Server系统则只能用subst.exe命令来缩短路径;subst.exe在20多年前就有了,适用所有windows系统,不论pc还是server。

代码语言:bash
AI代码解释
复制
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled /t REG_DWORD /d 1 /f

确认到底开没开,这样看:

代码语言:powershell
AI代码解释
复制
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem" /v LongPathsEnabled

看结果是不是1,是就是开了,不是就是没开

个人验证上述方案在最新版win10、win11上貌似已经开启了,在所有server系统上则没有开启,不论是server2008R2还是server2025。

启用长路径并重启机器后,在explorer里鼠标操作长路径文件夹仍碰到相关限制的提示

需求描述:启用长路径后,不仅需要命令行能正常使用,还需要图形界面右键创建文件夹

问题原因:微软Windows系统设计就是如此

解决办法:mklink或subst命令

mklink示例:

cmd.exe /c mklink "短路径" “长路径” /D

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cmd.exe /c mklink "C:\Users\Administrator\Desktop\test" "C:\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\44xxx\" /D

如果不挪动原本的较长路径,想原路径变短一些,我一般用这个办法

比如用powershell创建一个长路径

代码语言:powershell
AI代码解释
复制
mkdir -force C:\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\

在最后一层再继续创建文件夹,只能创建1个字符的文件夹了

C:\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\4\

这个路径明明是248个字符为啥触发260个字符限制呢

因为系统根目录C:实际是%systemdrive%,把C:用%systemdrive%替代后则是

%systemdrive%\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx\4\

这个路径确实是260个字符

想把这个260个字符的长路径变短有个subst.exe命令

cmd命令行:注意结尾不要带\,/D删除映射前注意先cd /d C:切换到其他盘符

代码语言:bash
AI代码解释
复制
subst.exe P: "C:\1xxx"
cd /d P:
dir
cd /d C:
subst.exe P: /D


subst.exe Q: "%systemdrive%\1xxx"
cd /d Q:
dir
cd /d C:
subst.exe Q: /D

subst.exe Q: "%systemdrive%\1xxx\2xxx\3xxx\4xxx\5xxx\6xxx\7xxx\8xxx\9xxx\10xxx\11xxx\12xxx\13xxx\14xxx\15xxx\16xxx\17xxx\18xxx\19xxx\20xxx\21xxx\22xxx\23xxx\25xxx\26xxx\27xxx\28xxx\29xxx\30xxx\31xxx\32xxx\33xxx\34xxx\35xxx\36xxx\37xxx\38xxx\39xxx\40xxx\41xxx\42xxx\43xxx"
cd /d Q:
dir
@rem 在Q:\里你可以突破原本限制,如果你不断嵌套缩短路径,260套260可以套好长,但是请注意subst只适合本地磁盘,不适合映射网络挂载盘,虽能映射,但在网络挂载盘有性能问题时,subst会自动多次重试,会一下子拉跨explorer导致整个系统hang
md Q:\
cd /d C:
subst.exe Q: /D
@rem 删掉Q:盘符后,回到最初的路径,你看到了最后新创建的那个文件夹,但是你打不开,当你用subst挂到Q:后,能打开

subst

subst.exe对网络盘有重大弊端,非常不适合挂共享盘比如nfs、smb,对服务器本身的磁盘,则非常适用

https://superuser.com/questions/644684/mapping-drive-letters-to-local-folders/644706#644706

当共享盘稍有unavailable,subst.exe就会疯狂重连,耗死最直接的那个客户端,同时,挂共享盘的所有客户端被牵连,都出现explorer卡顿、甚至僵到白屏的情况,explorer僵的时候,其他程序无响应

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
quartus ii 12.0安装教程_系统安装教程
安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。
全栈程序员站长
2022/11/07
3.2K0
使用Perl的File::Path模块删除非空文件夹
不过那个只是针对单个的文件,使用unlink方法就可以了(未测试过只读文件删除的情况- -!),那如果要删除指定的一个文件夹,有三种方案:
meteoric
2018/11/15
1.4K0
Windows类标识符及其妙用
在RM的皮肤中有些插件会使用到这些类标识符来打开对应的应用,比如经典的蜂窝桌面,就可以通过使用上边的类标识符,就和快捷方式差不多。
雨临Lewis
2022/01/11
6230
bat命令编写大全
@echo off #从本行开始关闭回显。一般批处理第一行都是这个
全栈程序员站长
2022/08/02
1.6K0
quartus ii12.1安装教程_ghost手动安装教程
安装前先关闭杀毒软件和360卫士,注意安装路径不能有中文,安装包路径也不要有中文。
全栈程序员站长
2022/11/04
2K1
quartus ii12.1安装教程_ghost手动安装教程
微软有趣的小命令/小工具
在线下载小工具:https://support.modelamerican.com/downloads/Utilities/Windows/ResKit/
Windows技术交流
2023/05/16
7610
python 爬取网站图片(图片链接相似)
磨刀不误砍柴工,分析观察了这么久,终于可以运行程序了,F5 后就静静等待吧,可以去看看 java,或者打一把王者 hhhhh!
Cell
2022/02/25
1.4K0
python 爬取网站图片(图片链接相似)
windows常用命令
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说windows常用命令,希望能够帮助大家进步!!!
Java架构师必看
2022/01/11
2.1K0
windows常用命令
虚拟机Linux Ubuntu安装教程
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 安装步骤: 1.选中【ubuntu】压缩包,鼠标右击选择【解压到ubuntu】。2.双击打开【ubuntu】文件夹。3.选中【VMware-workstation-full-14.0.0.24051】鼠标右击选择【以管理员身份运行】。4.需要等待一下。5.点击【下一步】。6.勾选【我接受许可协议中的条款】,点击【下一步】。7.点击【更改】,来更改软件的安装目录建议安装在除C盘之外的磁盘,可在D盘或者其他磁盘新建【VMware Workstation】文件夹,点击【下一步】。8.取消勾选(启动时检查更新产品)(加入VMware客户体验改进计划),点击【下一步】。9.点击【下一步】。10.点击【安装】。12.安装完成后点击【许可证】。13.输入:AA510-2DF1Q-H882Q-XFPQE-Q30A0,点击【输入】。14.点击【完成】。15.在桌面找到【VMware Workstation Pro】,双击打开。16.点击【创建新的虚拟机】。17.选择【典型】,点击【下一步】18.选择【稍后安装操作系统】,点击【下一步】19.选择【Linux】,版本选择【ubuntu 64位】,点击【下一步】。20.虚拟机名称输入【ubuntu 64位】,点击【浏览】更改系统的安装位置,建议安装在出C盘之外的磁盘,可在F盘或其他磁盘新建【ubuntu】文件夹,点击【下一步】。21.点击【下一步】。22.点击【自定义硬件】。23.点击【内存】,设置为【2048MB】。24.选择【新CD/DVD(SATA)】后选择【使用ISO镜像文件】,点击【浏览】找到并选择解压后【ubuntu】文件夹里面的【ubuntu-18.04.1-desktop-amd64】这个镜像。25.点击【网络适配器】,网络连接选择【仅主机模式】。26.选中【USB控制器】,点击【移除】。27.选中【打印机】,点击【移除】然后点击【关闭】。28.点击【完成】。29.选中【ubuntu 64位】,点击【开启此虚拟机】之后不要有任何操作等待下一步的出现。30.选择【中文(简体)】,点击【安装Ubuntu】。31.点击【继续】。32.点击【继续】。33.点击【现在安装】。34.点击【继续】。35.这里默认就好(默认的是Shanghai)点击【继续】。36.创建用户账号,点击【继续】。37.安装中38.安装完成,点击【现在重启】。39.点击键盘上的回车【Enter】键。40.重启后不要有任何操作。41.点击【用户名】。42.输入密码,点击【登录】。43.Ubuntu系统安装完成。Ubuntu 18.0/64位
Erwin
2019/12/31
2.5K0
Node.js创建目录实例
webgame项目经常要维护更新,先在创建一个批次号,然后上传至更新服务器上然后再分别copy文件至各服务器的一个临时目录,然后更新结束后删除该临时目录。而本地需要根据批次号创建一系统的文件夹目录。之前是先手动创建一个批次号文件夹,然后写一个bat,创建更新批次相应的文件夹。现在如果用node.js写的话,比较简单。系统盘当前登录用户目录放一个update.js文件---好处是直接cmd的时候就是该目录了,节省时间。
meteoric
2018/11/16
2.7K0
bat批处理命令大全_文件批处理命令
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171941.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/23
4.6K0
bat批处理命令大全_文件批处理命令
python:过滤字符串中的字母数字特殊
字符串.isalnum()  所有字符都是数字或者字母,为真返回 Ture,否则返回 False。 字符串.isalpha()   所有字符都是字母,为真返回 Ture,否则返回 False。 字符串.isdigit()     所有字符都是数字,为真返回 Ture,否则返回 False。 字符串.islower()    所有字符都是小写,为真返回 Ture,否则返回 False。 字符串.isupper()   所有字符都是大写,为真返回 Ture,否则返回 False。 字符串.istitle()      所有单词都是首字母大写,为真返回 Ture,否则返回 False。 字符串.isspace()   所有字符都是空白字符,为真返回 Ture,否则返回 False。
py3study
2020/01/19
3.8K0
Linux CentOS 7 安装教程
3.选中【VMware-workstation-full-14.0.0.24051】鼠标右击选择【以管理员身份运行】。
JiekeXu之路
2019/08/15
6.4K0
c语言基础学习02_windows系统下的cmd命令
============================================================================= 注意:cmd的命令很多,需要用的时候可以查询即可!
黑泽君
2018/10/11
1.5K0
EmguCV学习——视频与图片互转
其实视频转图片在上篇文章中已经有些眉目了,其实就是按帧读取视频,然后把帧保存就ok。然后自己再加个进度条美化一下。。。这代码简单易懂,还是直接上代码吧。
叁金
2018/09/04
1.3K0
CATIA V5-6R2017R21 保姆级安装教程
1.先使用“百度网盘客户端”下载CATIA V5-6R2017软件安装包到电脑磁盘英文路径文件夹下,并解压缩,安装前先断开电脑网络,然后双击打开CATIAV5R2017文件夹,找到setup.exe,鼠标右击选择【以管理员身份运行】
糯米导航
2022/08/10
4K0
CATIA V5-6R2017R21 保姆级安装教程
2602 最短路径问题
题目描述 Description 平面上有n个点(n<=100),每个点的坐标均在-10000~10000之间。其中的一些点之间有连线。若有连线,则表示可从一个点到达另一个点,即两点间有通路,通路的距离为两点间的直线距离。现在的任务是找出从一点到另一点之间的最短路径。 输入描述 Input Description 第一行为整数n。 第2行到第n+1行(共n行),每行两个整数x和y,描述了一个点的坐标。     第n+2行为一个整数m,表示图中连线的个数。     此后的m行,每行描述一条连线,由两个整数i和
attack
2018/04/12
1.1K0
面试题之Linux58问
46、如何把当前目录下的aa.txt移动到当前目录下的admin文件夹下,并且命名为admin.txt
wangmcn
2022/07/26
5500
图论算法模板整理及思路 不断更新 绝对精品
DFS 1 #include<iostream> 2 #include<queue> 3 #include<cstdio> 4 using namespace std; 5 queue<int>q; 6 int map[1001][1001]; 7 int vis[1001]; 8 int n,m; 9 void bfs(int p) 10 { 11 q.push(p); 12 vis[p]=1; 13 printf("%c-->",char(q.front(
attack
2018/04/12
8420
【CS】Cobalt Strick的Malleable2 C2配置以及PowerShell免杀
首先,我从一开始就踩了个坑,CS不应该是个开箱即用的东西吗,仔细一想,不对,那样的话流量特征不就明明白白了吗,这里需要用到Malleable C2 Profile。
正汰
2024/01/16
3140
【CS】Cobalt Strick的Malleable2 C2配置以及PowerShell免杀
相关推荐
quartus ii 12.0安装教程_系统安装教程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档