Windows - Windows中的路径名(Directory Name)长度上限是248字节

可以用如下的C#代码可验证这个上限值。

// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Program.cs" company="Chimomo's Company">
//   Respect the work.
// </copyright>
// <summary>
//   The program.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace CSharpLearning
{
    using System.IO;

    /// <summary>
    /// The program.
    /// </summary>
    public static class Program
    {
        /// <summary>
        /// The main.
        /// </summary>
        public static void Main()
        {
            Directory.CreateDirectory(@"D:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\");
        }
    }
}

上面的代码中,字符串D:\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\刚好是247个字节,再多加一个字符就会报错:

Unhandled Exception: System.IO.PathTooLongException: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less
than 248 characters.

at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, Object dirSecurityObj, Boolean checkHost)

at System.IO.Directory.InternalCreateDirectoryHelper(String path, Boolean checkHost)

at System.IO.Directory.CreateDirectory(String path)

at CSharpLearning.Program.Main() in d:\My Project\Learning\CSharpLearning\CSharpLearning\Program.cs:line 24

Press any key to continue . . .

由此就验证了Windows中的路径长度上限是248字节(因为Windows在存储路径名时末尾还要加一个‘\0‘)。但是,仍然可以手动做出一个路径长度大于248字节的一个路径,只需在上述用代码创建的路径中任意重命名一个文件夹,使其文件夹名字长度大于1字节即可。



Windows - Windows中的路径名(Directory Name)长度上限是248字节

时间: 2024-10-15 17:59:19

Windows - Windows中的路径名(Directory Name)长度上限是248字节的相关文章

Windows - Windows中的全路径名长度上限为260字节

你可以做如下实验来验证这个上限值: 在任意目录下新建一个目录. 在该新建目录下创建一个任意文件,使其名字长度不能再输入为止. 把该文件的全路径名copy到Microsoft Word中进行Word Count统计,你会发现长度为259. 再加上一个字节的'\0',就刚好是上限260字节.尽管如此,你仍然可以做出一个全路径文件名长度超出MAX_PATH=260的文件.参看上一篇博客:http://blog.csdn.net/troubleshooter/article/details/327151

AD域的安装(在Windows Server 2003中安装Active Directory)

在Active Directory中提供了一组服务器作为身份验证服务器或登录服务器,这类服务器被称作域控制器(Domain Controller,简称DC).建立一个AD域的过程实际就是在一台运行Windows 2000 Server或运行Windows Server 2003系统的计算机上安装AD,使其成为DC的过程.安装完AD后,在DC中将网络的其他计算机加入到AD域中并创建和管理用户账户是管理AD域的重要内容.在运行Windows Server 2003(SP1)系统的服务器中安装Acti

Windows - 你可以在Windows中做出一个全路径文件名(Fully Qualified File Name)长度超出MAX_PATH=260字节的文件

在任意一个目录下新建一个文件夹. 在该新建文件夹下创建任意一个文件:重命名该文件,使文件名长度不能再长为止. 重命名该新建文件夹,使该文件夹的名字长度更长. 综上,你就在Windows中做出了一个全路径文件名长度超出MAX_PATH=260字节的文件. Windows - 你可以在Windows中做出一个全路径文件名(Fully Qualified File Name)长度超出MAX_PATH=260字节的文件

在Windows操作系统中的常见安全标识符

概要 安全标识符(SID)是长度可变的唯一值用来标识Windows操作系统中的安全主体或安全组.著名的SID是一组标识一般用户或一般组的SID.它们的值保持在所有的操作系统保持不变.这些信息对涉及安全性问题进行故障排除非常有用.这也是可以在ACL编辑器中看到潜在的显示问题非常有用.一个SID可被显示在ACL编辑,而不是在用户或组名. 目的 本文方便DC们查找SID对应的Name等信息. 更多信息 以下是众所周知的SID: SID:S-1-0 名称:空局 说明:标识符颁发机构. SID:S-1-0

windows 7中修改用户配置文件的路径

在windows 7中用户配置文件的默认位置是在c:\users文件夹中.我建议最好在安装完操作系统之后就将用户配置文件的默认位置改变到其他分区. Warning在视图更改注册表之前,请备份好注册表相关键值. 1. 将c:\user文件夹Copy到新的位置(默认情况下 "Default" directory 是隐藏的,请到 Tools > Folder Options > View (tab) > Show Hidden files, folders, and dri

将CnetOS 6.5加入Windows域中

我相信,很多公司都有统一身份认证的需求,只是这个统一认证很多公司都没有彻底完成,比如我见到的很多企业都使用Windows AD来管理办公电脑,笔记本等运行windows操作系统的计算机,而IDC机房大多是Linux系统的服务器,这些都采用ldap(如openldap)来做身份认证,但是Windows AD和ldap基本上就没有什么关系了.问过一两个企业的系统管理员,也基本清楚,主要是服务器的数量就那么多,而且大部分用户是不需要登录服务器的,所以只有运维人员才需要进行服务器管理,所以使用ldap统

Windows编程中的堆管理(过于底层,一般不用关心)

摘要: 本文主要对Windows内存管理中的堆管理技术进行讨论,并简要介绍了堆的创建.内存块的分配与再分配.堆的撤销以及new和delete操作符的使用等内容. 关键词: 堆:堆管理 1 引言 在大多数Windows应用程序设计中,都几乎不可避免的要对内存进行操作和管理.在进行大尺寸内存的动态分配时尤其显的重要.本文即主要对内存管理中的堆管理技术进行论述. 堆(Heap)实际是位于保留的虚拟地址空间中的一个区域.刚开始时,保留区域中的多数页面并没有被提交物理存储器.随着从堆中越来越多的进行内存分

WebLogic 把应用域加到Windows service中

在Windows操作系统中,WebLogic即可以通过命令行启动,也可以通过Windows服务(Service)来启动和停止.在某些情况下,如需要开机自启动,或者在启动后,命令行窗口可以关闭,这时使用Window service便有优势. 一.如何将WebLogic Web应用部署成Windows服务呢? 1.在WebLogic安装目录下找到installSvc.cmd文件 一般在位置:[WebLogic安装目录]/Oracle/Middleware//server 下 2.修改installS

Windows.Server.2008.R2.Active.Directory.配置指南(二)

在林中新建第二个域树 在林中新建第二个(或更多个)域树的方法:先春节此域树中的第一个域,而创建第一个域的方法是碳哥创建第一台域控制器的方法来实现. 选择适当的DNS架构 若要将cisco.com域加入到h3c.com中的话,就必须在创建域控制器dc5.cisco.com时能够通过DNS服务器来找到林中的域命名操作主机,否则无法创建cisco.com.域命名操作主机默认是由林中第一台域控制器扮演 还有早DNS服务器内必须有一个名称为cisco.com的主要查找区域,以便让域cisco.com的域控