精华内容
下载资源
问答
  • Windows文件名长度限制

    万次阅读 2014-10-22 08:30:08
    260个长度是作为总的文件名长度限制。 例如: 所在文件夹的长度为50 则文件名的长度被限制在210之下,超出的话会被进行截断。 如果在程序中的话,超出长度的话MoveFile/CopyFile会返回错误,处理失败。 例子: 1....

    参考:https://social.technet.microsoft.com/Forums/windows/en-US/53779044-d453-458b-b8c4-96d41711ea69/file-name-too-long-cannot-copy?forum=w7itprogeneral

    参考:https://fresky.github.io/2015/10/13/story-about-windows-file-name/

    参考:https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#maximum-path-length-limitation

     

    win7环境通常模式下:

    path+filename: 260个长度是作为文件目录长度+文件名的长度限制之和(带结束符‘\0’)。

    path: 248个长度是作为文件目录的长度限制(带结束符‘\0’);

    filename: 256个长度通常作为文件名称的长度限制(带结束符‘\0’),不算结束符的话为255个字符;

     

    1. 例如-建立文件:path+filename触发限额260

    所在文件夹的长度为50,则文件名的长度被限制在210以内,超出的话会被进行截断。

    2. 例如-建立文件夹:path触发限额248

    在c:\下建立文件夹(目录前缀"c:\"占据3个长度),新建文件夹名称限制在245以内,超出的话会被进行截断。

    3. 例如-建立文件:filename触发限额256

    在c:\下建立文件(目录前缀"c:\"占据3个长度),新建文件夹名称限制在256以内,超出的话会被进行截断。

     

    如果在程序中的话,超出长度的话MoveFile/CopyFile会返回错误,处理失败。

     

    例子1:建立文件

    1.  我手动在C:\建立一个文件,使用280个长度进行重命名,实际生成的文件名长度却是256个长度(带字符串结束符’\0’)

    新建时使用280长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklm.txt

    实际生成文件名,共计256个长度(带字符串结束符’\0’):

    256长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz123

     

    2. 把这个文件往”C:\temp”目录copy的时候

    报错: 文件名对目标文件夹可能过长,您可以缩短文件名并重试,或者尝试路径较短的位置。

    意味着,

      a. 要么我们把文件名改短一些,

      b. 要么copy 的目录长度短一些,例如向”D:\”复制就没会有问题。

     

    例子2:建立文件夹

    1. 我手动在C:\建立一个文件夹,使用280个长度进行重命名,实际生成的文件夹名称却是带字符串结束符’\0’共245个长度

    新建时使用280长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopq

    实际生成目录名称: 共计245个长度(带字符串结束符’\0’)

    245长度(带‘\0'结束符):1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr

    和父目录“c:\"连接在一起形成的目录长度正好为248长度(带‘\0'结束符)

    c:\1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr

     

    2. 在该目录下,再尝试建立目录时,失败-报错建立路径过长

    意味着,

       a. 总目录长度已经达到了最大限制,不能再往下建立目录

     

    3. 另外,在该目录下新建文件,利用同样字符串,可以建立一个12长度的文件(带‘\0'结束符),超出会被截断

       a. 建立的文件名(带'\0'长度12):1234567890a

       b. 文件路径前缀(带‘\’长度248) + 文件名长度12 = 260 达到限额

     

    Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu  转载请标明来源 

     

    展开全文
  • 用于分割Windows文件名的。 安装 $ npm install regex-filename-windows 用法 var re = require ( 'regex-filename-windows' ) ; 关于 用于分割Windows文件名的。 var parts = re . exec ( 'C:\\foo\\bar\\...
  • windows无法输入文件名,不让输入文件名,文件名无法输入了,这是为什么,如何解决.zip
  • windows文件名规则,http://guobutter.iteye.com/blog/1323177
    展开全文
  • 一个简单的windows 文件名 正则表达式,不检查文件名如 con 等     ^[^/\\\:\*\?\"\<\>\|\\]{1,255}$     参考了 http://blog.csdn.net/lsj19830812/article/details/4137003...

    一个简单的windows 文件名 正则表达式,不检查文件名如 con 等

     

     

    ^[^/\\\:\*\?\"\<\>\|\\]{1,255}$

     

     

    参考了

    http://blog.csdn.net/lsj19830812/article/details/4137003

    展开全文
  • 今天小编就为大家分享一篇在Python中过滤Windows文件名中的非法字符方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • Windows文件名正则表达式

    千次阅读 2011-12-23 15:22:35
    ^[^/\\\\:\\*\\?\\\\|\"]{1,255}$
    ^[^/\\\\:\\*\\?\\<\\>\\|\"]{1,255}$
    展开全文
  • python 批量修改文件名 import os filepath=""//这个filepath 自己填写 if not os.path.exists(filepath): print("文件路径不存在") else: filenames=os.listdir(filepath)// 将所有文件名存储起来 for data in ...
  • Windows文件名批量修改

    2010-11-26 12:19:36
    通过此工具可以对照像机的照片,批量进行改名操作。 解决照片保存重名烦恼。
  • linux和windows文件名长度限制

    千次阅读 2015-07-12 09:01:13
    windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。   linux下文件数、目录数、文件名长度的各种限制 以下测试都是在没有优化或修改内核的前提下测试的结果 ...
  • Windows文件名区分大小写

    千次阅读 2020-11-26 12:30:30
    二、在PowerShell中执行命令,命令如下,E:\xxx为要区分文件名的路径。 fsutil.exe file setCaseSensitiveInfo E:\xxx enable fsutil.exe file setCaseSensitiveInfo E:\xxx disable 三、fsutil.exe。 1、...
  • Windows文件名和短文件名

    千次阅读 2012-05-26 13:29:13
    Windows文件名和短文件名  在FAT16文件系统中,由于FDT中的文件目录登记项只为文件名保留了8个字节,为扩展名保留了3个字节,所以DOS和Windows的用户为文件起名字时要受到8.3格式的限制。但是,从Windows95...
  • 要想让你的 Python 代码同时在 Windows 和 Mac/Linux 上工作,你需要处理不同系统文件名用不同斜杠的问题。而 Python 3 有一个名为「pathlib」的新模块,可以帮你解决这个麻烦,需要的朋友可以参考下
  • 文件名排序后生成文件顺序到list.txt,整理文件顺序可以使用
  • windows中的文件名

    千次阅读 2018-10-21 11:45:00
    WINDOWS 文件名是为文件指定的名称。为了区分不同的文件,必须给每个文件命名,计算机对文件实行按名存取的操作方式。  DOS操作系统规定文件名由文件主名和扩展名组成,文件主名由1~8个字符组成,扩展名由1~3个字符...
  • 程序文件是在windows下创建的,或是在windows压缩,然后上传到linux 解压的,或者直接上传的,Windows 的文件名中文编码默认为GBK,压缩或者上传后,文件名还会是GBK编码,虽然在ftp或者其它查看工具显示中 文,但...
  • Windows 文件名称过长或文件夹数量过多,windows 自带删除无法进行删除,这是进行强制删除的工具。
  • 1. 通常生成文件时需要一个文件名,而生成文件名的方式可能是通过用户输入的字符,但是有些字符在windows上是不能作为文件名的,强行创建这类文件会失败。 2.一般可以通过正则表达式替换所有的非法字符,这里实现的...
  • 什么会有这个功能呢,因为有的浏览器,尤其是IE,低版本在上传时,容易将文件全名带路径当做文件真实名称,比如:C:\filepath\myfile.png 上传到后台程序,实际上,后台程序不关心这个文件是存在客户端的哪个盘符...
  • 解决Ubuntu中使用windows文件名乱码问题 from: http://blog.sina.com.cn/s/blog_4ce1e0e30100fgai.html 使ubuntu正常显示GB2312、GBK编码文件 ubuntu环境设置的字符集utf8,windows默认字符集是GBK,Ubuntu的默认...
  • 高手指教)你可以在C盘下建立一个含极度长文件名的文件夹,再在这个文件夹下建立尽量长的文件夹,你会发现,最后这个文件夹文件名已经很短了如果你再想在这个文件夹下建立子目录就不行了。这是windows的设计,不同于...
  • windows文件名格式的中文+数字混合字符串排序 记录一下 [DllImport("shlwapi.dll", CharSet = CharSet.Unicode)] private static extern int StrCmpLogicalW(string psz1, string psz2...
  • 替换windows文件名不能出现的字符

    千次阅读 2016-11-21 10:24:43
    //windows文件名中不能含有:\ / : * ? " < > | 英文的这些字符 if(StringUtils.isNotBlank(mName)){ mName = mName.replaceAll("[/\\\\:*?|]",""); if(StringUtils.isBlank(mName)){ mName = "未命名"; } }
  • 场景1.Windows和macOS的文件名有自己的命名规则, 特别是Windows文件名限制了不允许使用的特殊字符. 在使用这些文件名新建文件时会创建失败.说明1.在前面的文章里在Windows上我使用了比较笨的方法: 过滤Windows....
  • windows现在已知的文件名非法字符有 \ / : * ? " < > | var reg = new RegExp('[\\\\/:*?\"<>|]'); if(reg.test(name)){ //文件名含有非法字符() } 转载于:https://w...
  • Windows桌面批量修改文件名

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 406,829
精华内容 162,731
关键字:

windows文件名是什么