精华内容
下载资源
问答
  • Windows系统文件名最大长度

    千次阅读 2019-11-04 17:22:15
    1.文件名最大长度 Windows 通常限定文件名最多包含 260 个字符。但实际的文件名必须少于这一数值,因为完整路径(如 C:\Program Files\filename.txt)都包含在此字符数值中。这就是为什么有时候将文件复制到比...

    1.文件名的最大长度

    Windows 通常限定文件名最多包含 260 个字符。但实际的文件名必须少于这一数值,因为完整路径(如 C:\Program Files\filename.txt)都包含在此字符数值中。这就是为什么有时候将文件复制到比当前位置路径长的某个位置时会出现错误的原因。

     

    2.一个汉字占用两个字符哦

     

    3.如何快速查看当前路径占用多少字符

    把路径复制到记事本里,然后查看记事本大小

     

     

     

    两个汉字共4个字节,再加上3个字符,所以共7个字节

     

    4.文件名中不能使用哪些字符?

    文件名中不可以使用下列任何一种字符: \ / ? : * " > < |

    展开全文
  • UNIX标准对路径名和文件名最大长度限制做出了说明,但其上限值在实际应用长过小,Linux在具体实现时提升了该上限,该限制在Linux的 /usr/include/linux/limits.h 中做出了说明,具体如下: #ifndef

    最近发现在linux服务器下创建文件报错,找半天找不到问题,文件就是创建不了,最后发现是由于文件名称太长导致文件创建失败,我就说之前看其他人创建文件怎么都用随机字符串来命名,原来还有这种坑啊,果然一些坑只有自己踩过才知道!!!

    **

    Linux路径名和文件名最大长度限制

    **
    UNIX标准对路径名和文件名最大长度限制做出了说明,但其上限值在实际应用长过小,Linux在具体实现时提升了该上限,该限制在Linux的 /usr/include/linux/limits.h 中做出了说明,具体如下:

    #ifndef _LINUX_LIMITS_H
    #define _LINUX_LIMITS_H
    
    
    #define NR_OPEN            1024
    
    
    #define NGROUPS_MAX    65536    /* supplemental group IDs are available */
    #define ARG_MAX       131072    /* # bytes of args + environ for exec() */
    #define LINK_MAX         127    /* # links a file may have */
    #define MAX_CANON        255    /* size of the canonical input queue */
    #define MAX_INPUT        255    /* size of the type-ahead buffer */
    #define NAME_MAX         255    /* # 文件名最大字符数 */
    #define PATH_MAX        4096    /* # 相对路径名最大字符数 */
    #define PIPE_BUF        4096    /* # bytes in atomic write to a pipe */
    #define XATTR_NAME_MAX   255    /* # chars in an extended attribute name */
    #define XATTR_SIZE_MAX 65536    /* size of an extended attribute value (64k) */
    #define XATTR_LIST_MAX 65536    /* size of extended attribute namelist (64k) */
    
    
    #define RTSIG_MAX      32
    
    
    #endif
    

    上述文件内容的第11行和第12行分别说明了文件名和相对路径名的最大长度。需要说明的是,字符指的是ASCII字符,如果是汉字或者其他语言,则需要视编码而定。

    Windows路径名和文件名最大长度限制

    Windows 通常限定文件名最多包含 260 个字符(一个汉字占用两个字符哦)。但实际的文件名必须少于这一数值,因为完整路径(如 C:\Program Files\filename.txt)都包含在此字符数值中。

    文章地址:https://www.ycblog.top/article?articleId=133&pageNum=1

    展开全文
  • 文件名最大长度问题

    2016-11-17 16:43:00
    文件名和目录名在操作系统中都有最大长度的限制,而且不同系统中的最大长度不同。 这些限制在Linux系统下可以通过修改系统内核修改这个限制。 结论: Linux文件名的长度限制是255个字符(Byte)。 windows下...

    文件名和目录名在操作系统中都有最大长度的限制,而且不同系统中的最大长度不同。

    这些限制在Linux系统下可以通过修改系统内核修改这个限制。

     

    结论:

    1. Linux文件名的长度限制是255个字符(Byte)。
    2. windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。

    执行代码如下:

     1 #!/usr/bin/python
     2 # encoding: utf-8
     3 
     4 import os
     5 
     6 '''
     7 代码仅适用于Python2版本,3版本需要改为range
     8 
     9 '''
    10 
    11 
    12 def file_name_max_len():
    13     max_len = 0
    14     try:
    15         for i in xrange(1, 10**10):
    16             name = "w" * i
    17             with open(name, 'w') as ofs:
    18                 ofs.write("test" * 10)
    19             max_len = i
    20             os.remove(name)
    21     except IOError as ioe:
    22         print("Maximum length of file name is: {}".format(max_len))
    23 
    24 
    25 def dir_name_max_len():
    26     max_len = 0
    27     try:
    28         name = "w"
    29         for i in xrange(1, 10**10):
    30             name = "w" * i
    31             os.mkdir(name)
    32             os.rmdir(name)
    33             max_len = i
    34     except OSError as ioe:
    35         print("Maximum length of directory name is: {}".format(max_len))
    36 
    37 
    38 if __name__ == '__main__':
    39     file_name_max_len()
    40     dir_name_max_len()

     

    Linux下执行结果为:

    $ python name_len_test.py
    Maximum length of file name is: 255
    Maximum length of directory name is: 255

     

    Windows环境未验证。

     

    转载于:https://www.cnblogs.com/harelion/p/6074403.html

    展开全文
  • 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  转载请标明来源 

     

    展开全文
  • Windows7 x64 文件名实测最大长度为133字符,不论...文件名最大长度为255字符 Ubuntu x86_64 14.04下实测,英文最大支持255字符,汉字最大支持85字符。参见文章http://blog.csdn.net/wwlhz/article/details/738384...
  • windows文件名长度

    2011-12-19 18:47:03
    文件名可以有255个字符(包括空格),但不能有以下字符: \ / : * ? < > " !
  • Linux文件名长度限制是255个字符 windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。 linux下文件数、目录数、文件名长度的各
  • windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。   linux下文件数、目录数、文件名长度的各种限制 以下测试都是在没有优化或修改内核的前提下测试的结果1. 测试目的:ext3文件系统下...
  • 把该文件的全路径名copy到Microsoft Word中进行Word Count统计,你会发现长度为259。 再加上一个字节的'\0',就刚好是上限260字节。虽然如此,你仍然能够做出一个全路径文件名称长度超出MAX_PATH=260的文件。參看以...
  • Linux 文件名和路径的最大长度

    万次阅读 2017-06-28 12:53:06
    在x86_64 Linux下,文件名最大长度是255个字节,文件路径的最大长度是4096bytes, 即可以包含16级的最大文件长度的路径。在#define NAME_MAX 255的定义.
  • Windows下目录和文件名长度的限制

    千次阅读 2009-01-05 12:00:00
    &lt;noscript type="text/javascript"&gt; &lt;/noscript&gt; &lt;noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js"...今天,一个网友,问Windows
  • Windowns 文件名长度限制

    千次阅读 2009-08-06 00:09:00
    今天编程执行远程文件拷贝遇到问题,文件名非法问题,研究了一下,... 文件全名长度限制 文件全名最长为260字符长度, Directory的最大长度为248长度。所以你的Directory路径越长越深,那么留给最后文件名字的长度就
  • Linux文件名长度限制是255个字符windows下完全限定文件名必须少于260个字符,目录名必须小于248个字符。linux下文件数、目录数、文件名长度的各种限制以下测试都是在没有优化或修改内核的前提下测试的结果1.测试...
  • Windows一直以来都有一个系统常量MAX_PATH = 260,用于定义一个文件名(Filename)或者全路径(Directory route)的最大长度,在实际实践中,不管在命令行或者是使用编程语言调用相关系统API处理长路径文件时都会受到此...
  • windows最大路径长度

    万次阅读 2015-11-02 11:40:05
    Windows API中,路径的最大长度为MAX_PATH,MAX_PATH被定义为260。一个路径的结构如下所示: |盘符|冒号|反斜杠|被反斜杠所划分的若干部分|NUL(‘\0’)|,例如:D:\ chars>NUL.   Note:Windows API中的函数...
  • 原文地址 注:我的解决环境时在win10(1089)下 ...修改这个最大长度的限制 从Windows 10(版本1607)开始,MAX_PATH限制已从Common Win32文件和目录功能中移除。若要使用新的扩展路径行为,必须通过更改注册表项...
  • Windows 支持的所有的文件系统都使用文件和目录的方式来访问磁盘或者设备上的内容。开发人员应该了解,windows API 中的各种规则,约定,以及文件、目录的名称限制。   可以通过文件I/O API 访问磁盘、设备或网.....
  • 文件名

    千次阅读 2019-01-10 23:04:51
    8指文件名最大长度为8 3指扩展名最大长度为3 若不符合以上限制则会以"~"作延长名称如"Program Files"会变成"Progra~1" 若同一文件夹有相似的名称,末端的数值则会自动递增   短...
  • 对于文件上传漏洞的防护来说,主要分为以下两类:白名单限制和黑名单限制,对于黑名单的限制,我们只需要寻找一些较为偏僻的可执行后缀、大小写混写以及相关操作系统的特性(如windows文件名后缀的最后会自动过滤...
  • Windows MAC 和Linux系统文件名的限制

    千次阅读 2012-09-11 16:55:45
    Windows 文件名中不能含有 \ / : * ? | 这些字符。另外,大小写不敏感。   MAC 文件名中不能含有 : 字符,另外,文件名不能以 '.' 字符开头,大小写敏感。   Linux 允许使用除了 '/' 以外 所有的...
  • I'm using Git-1.9.0-preview20140217 for Windows. 我正在Windows上使用Git-1.9.0-preview20140217 。 As I know

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,626
精华内容 19,050
关键字:

windows10文件名最大长度