平淡

文件(夹)路径是通过类似“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)。
如果要创建超过路径长度的文件夹,我们可以使用其他方法变通。