【摘 要】
:
了解文件夹路径长度限制的由来 文件(夹)路径是通过类似“D:\aa.txt”“D:\a”的形式表示的,如后者表示D盘下名为“a”的文件夹的路径。这里总共有4个字符(如果是中文名称,1个汉字是2个字符)。而在Windows API中,微软规定文件(夹)路径的最大长度是259个字符。不过在资源管理器中创建文件夹的时候还需要为8.3文件名保留12个字符,而在实际统计文件夹名称长度的时候需要扣除“驱动器
论文部分内容阅读
了解文件夹路径长度限制的由来
文件(夹)路径是通过类似“D:\aa.txt”“D:\a”的形式表示的,如后者表示D盘下名为“a”的文件夹的路径。这里总共有4个字符(如果是中文名称,1个汉字是2个字符)。而在Windows API中,微软规定文件(夹)路径的最大长度是259个字符。不过在资源管理器中创建文件夹的时候还需要为8.3文件名保留12个字符,而在实际统计文件夹名称长度的时候需要扣除“驱动器:\”(如D:\)这3个字符。因此一个正常的文件(夹)名称路径部分的最大长度其实是259-3-12=244个字符。当我们试图在超过244个字符的文件夹下再创建子文件夹,或者在其中保存文件时,资源管理器就会提示目标路径太长而无法创建。而在旧版系统(如Windows 7)中试图删除超长路径下的文件时,系统则会提示“源路径太长”无法删除(图1)。
为了测试在Windows中是否真的存在这个限制,大家可以尝试在“D:\”下新建一个文件夹,并将其重命名为“1111……”(一直按1键直到不能输入为止),然后將文件名字符复制并粘贴到Word中,点击“审阅一字数统计”,可以看到文件名中总计有244个“1”,即“D:\”下最多只能创建244个字符的文件夹(图2)。
手动创建超过字符限制的文件夹
如上所述,Windows的文件(夹)路径长度是有限制的,如公司的开发人员现在需要创建“C:\Users\kaifa\AppData\Local\Temp\tfdbg_b1622n_7\_tfdbg_deVice_,job_localhost,replica_0,task_0,device_CPU_0\train_step\gradients\bi-Istm\bidirectional_rnn\fw\fw\whlle\TensorArrayWrite\TensorArrayWriteV3_grad\TensorArrayReadV3\qwertyu\sddsafdsafdd\guuur\jyuhti\hyudjiy”(总计267个字符,因字串太长,后续描述时统一使用“long路径”名称替代,实际使用时要输入原字符串),用于存放开发文件。启动到命令提示符窗口,在其中输入“md”,此时系统会提示“文件名或扩展名太长”的提示而无法成功创建(图3)。
如果要创建超过路径长度的文件夹,我们可以使用其他方法变通。因为Windows在计算文件(夹)路径的长度时,它是按照从父目录到子目录的方式依次计算的,比如已经创建“D:\1”文件夹,现在路径已经总计有4个字符了,那么在其下就最多还只能创建244-1-4=239(还需要为“\”保留一个字符)个字符长度的文件夹,依此类推。所以使用MD命令直接创建long文件夹会出错。但是如果我们通过先建立符合要求的文件夹结构,然后再依次更改上一级文件夹的名称即可绕过这个限制。
比如需要创建上述long文件夹,先将文件夹的名称复制到Word里,同上查看字符数,接着将“TensorArrayReadV3”后的路径依次改为“1\2\3\4\5”(对应原文中的5个文件夹名称),这样字符数总计只有235个,同上使用MD命令完成文件夹的创建。然后打开创建的文件夹,依次将5、4、3、2、1名称重命名为hyudjiy、jyuhti、guuur、sddsafdsafdd、qwertyu即可(图4)。
查找并删除超长路径的文件(夹)
如上所述,超长路径的文件夹会给日常使用带来不便,而且一些病毒也可能会通过创建超长路径文件夹的方法来隐藏自身。如果要找出这类文件(夹),可以使用“Path Length Checker”(https:∥github.com/deadlydog/PathLenathChecker/releases/tag/v1.8.2)。启动程序后在
“Starting Directory:”(开始目录)后输入需要查找的驱动器,如“D:\”,最小长度输入242,按下回车键开始搜索(图5)。
这样程序会找出“D:\”下所有路径长度超过242(合)字符的文件夹,我们可以根据文件夹的名称来判断是否是自己不需要的文件,对于Windows 10的用户,在搜索结果中右击并选择“Open directory in File Explorer”,可以在资源管理器中打开这类文件夹并删除。对于旧版系统则可以先点击“Copy Paths to Clipboard”(复制路径到剪贴板),然后启动命令提示符,使用“rd/s/q粘贴上述获得的路径”命令来删除(图6)。当然,对于自己需要访问的文件,也可以将其复制到更短的路径(如E:\)下,同时将其重命名为短名称,如“cfan.×××”,避免因路径太长而无法访问。
其他文献
CFan曾在2020年第12期发布过笔记本处理器的性能排行。随着第11代酷睿处理器的发售,以及更多新品和新版BIOS的出炉,这个排行也到了需要更新的时刻。考虑到轻薄本和游戏本分别面向两类用户群,所以本期天梯榜的排行,就让我们先锁定在15W TDP的低功耗移动处理器领域。 一款笔记本的强弱,主要表现在其单核性能和多核性能的输出水平。其中,单核性能越强,在一些主打单线程的任务中可以获得更高的效率,比
随着锐龙5000处理器性能数据的解禁,中高端处理器的性能排行随之发生了巨大改变,这一价位的处理器是中高端办公、设计、游戏等平台的常见选择,其格局会明显影响相关产品的配置。 从新的天梯性能排行看,无论单核还是多核性能,锐龙5000的实测成绩都占据了最顶部的位置,其中面向中端的锐龙5 5600X(图1)甚至在单核成绩上大幅超过了之前的两款旗舰级型号酷睿i9-10900K和锐龙93900X,多核成绩则
CFan曾在2020年第22期中报道过AMD移动锐龙5000会采取Zen 2和Zen 3核心混搭的策略。实际上,Zen 2不仅会用于移动锐龙5000,它还会在嵌入式领域发挥余热。 所谓“嵌入式领域”,即瘦客户端、迷你机和边缘计算等设备,主要代表品牌有华擎、DFI、精英、技嘉、蓝宝石等等,而普通消费者接触最多的应该就是其中的迷你机(图1)。AMD最早于2018年2月涉足这一领域,当年主推的是第一代
索尼UMPC附体GPD WIN 3游戏掌机 最近GPD发布了旗下WIN Max游戏掌机的升级版GPD WIN 3,它采用了类似当年索尼VGN-UX系列UMPC的滑盖设计,并在屏幕两侧配备了掌机应有的所有游戏按键,隐藏于屏幕下面的键盘还配有白色背光。GPD WIN 3采用5.5英寸HD高色域触控屏幕,搭载第11代酷睿处理器,结合LPDDR4-4266内存的3D性能输出不逊于GeForce MX35
微软XboxSeriesX/S和索尼PS5均于11月月中正式发售,XboxSeriesX/S定价分别为约3300元和1985元人民币(499美元/299美元),PS5的蓝光光驱版和数字版定价则为约3300元和约2650元人民币(499美元/399美元)。但它们均出现了上市即断货的情况,一些渠道的价格更被炒至数倍。据称微软要在半年后才能保证供货需求,PS5在5个月内的计划发售数量也仅有760万台。此
解锁运输模式 笔记本在运输的过程中可能出现很多意外情况(图1),比如晃动、磕碰和进水(运输车辆漏雨)等。只有笔记本处于关机状态,在遭遇上述意外时才能最大限度确保安全。以进水为例,如果笔记本在通电状态下进水,轻则短路烧坏硬件,重则引发电池燃烧等安全事故。 因此,现在绝大多数笔记本在出厂前都会设定在“运输模式”。在该模式下,无论你怎么按电源键都无法触发开机指令(图2),可彻底杜绝笔记本在运输途中因
设计上的差异 联想ThinkBook15和惠普战66四代的机身都由金属材质打造,屏幕可以打开到180度,它们的三围和重量相差不大,前者颜色偏深灰,商务感更强,而后者的颜色偏亮银,看起来金属韵味更强。为了保护隐私,两款商务本都为摄像头配备了独立的遮挡开关,平时可以将镜头物理遮蔽(图1),不怕系统被木马病毒劫持而遭遇偷怕的隐患,而且MIC都支持智能降噪功能。 两款产品在设计上的差异表现在C面的布局
近些年Android平板电脑的更新迭代速度明显变慢,参与的“玩家”也越来越少,但这并不代表这个市场不重要。毕竟Android平板的便携性和续航都远超Windows平板二合一,价格更便宜,结合键盘也能带来不俗的生产力。那么,作为主打生产力的Android平板新品,华为MatePad 10.8和联想小新Pad Pro谁更适合你?设计上的对比 华为MatePad10.8和联想小新PadPro都是采用全
《轩辕剑7》 双剑再出鞘 由大宇资讯旗下DOMO工作室制作的《轩辕剑》系列在当年是RPG代表作品之一,与“仙剑”系列并称为“大宇双剑”。如今《轩辕剑》系列推出了最新续作,保持了将历史融入故事的传统,这一次将带着玩家穿越到东西汉之间的王莽执政时期。它在环境景物与日常道具方面尽量还原汉代风貌,不过在人物衣着方面为了照顾现代人的审美有所妥协。◆“双剑”之一再出鞘,一男两女齐上路◆在场景道具上,游戏尽量
首先到http:∥dwz.date/dvrv下載所需的文件(提取码:2333),下载后将其解压到“D:\tb”备用。然后使用记事本程序打开“d:\tb\background.js”文件,按照下面的代码解释进行更改即可(图1)。 代码解释: title:‘淘宝查价:%s’:这里“淘宝查价”表示右键菜单的名称,大家可以自行编辑定义,%s表示在Edge浏览器中鼠标选中的文字。 chrome.tab