tips in windows/ 1.windows文件路径最长限制

news/2024/9/22 3:33:17/文章来源:https://www.cnblogs.com/cha9/p/18378840

1.windows文件路径最长限制

  • 场景:在用文件资源管理器删除名称超过255字符的文件(文件名最大字符限制就是255)时,发现删除不了,也没反应

  • 原因:windows删除调用的是explorer,对路径限制不能超过260,此时超过了,但又由于是应用层,所以不会直接给以报错。使用杀毒软件可以是因为他们调用的是内核层的接口,对限制更宽。

  • 解决方案:

    1. 通过注册表,修改路径最长限制,但不推荐,因为有一些老软件调用的就是windef.h的接口,里面对最大限制是260,老软件预想文件路径是不会超过260字符,所以没有对路径超过260字符的情况做限制处理,可能会出现bug。

    2. 可以通过新的api来解决,但是老的软件就不适用了

  • 实例:

    1. Python 可以处理超过 260 个字符的长路径,但它并不是通过修改注册表或改变系统设置来实现的。相反,Python 使用了一种特定的方法来处理长路径。

      • a. 使用 “长路径前缀”(Long Path Prefix)

        在 Windows 上,Python 使用一个特殊的长路径前缀 \\?\ 来支持超过 MAX_PATH(260 个字符)的路径长度。这个前缀告诉 Windows API 不要限制路径长度,这样就可以处理更长的路径。

        例如,如果你有一个很长的文件路径,Python 会在路径前面加上 \\?\ 前缀,如下所示:

        long_path = r"\\?\C:\some\very\long\path\to\file.txt"
        
      • 利用 Python 内部的文件系统接口

        Python 内部的文件系统接口(例如 osos.path 模块中的函数)在操作路径时考虑到了长路径的处理。Python 的文件操作函数能够识别和使用长路径前缀,使得你可以操作超过 260 个字符的文件路径,而无需修改系统的全局设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787033.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZBlog网站密码重置Z-BlogPHP 密码找回工具

注:nologin.php 非常的危险,使用后请立即删除。 对于有终端权限的空间,可以使用下边命令直接获取密码重置工具,改名后相对可以提升一些安全性: wget https://raw.githubusercontent.com/zblogcn/zblogphp/master/utils/nologin.php && mv nologin.php "nolog…

ZBlog从环境变量中读取数据库配置

c_option.php 配置文件中参数的值为Zbp_GetEnv(环境变量名),就会用 Zbp_GetEnv 函数读取环境变量的值 (1.7.3 开始支持) 那么 ZC_MYSQL_SERVER, ZC_MYSQL_USERNAME, ZC_MYSQL_PASSWORD, ZC_MYSQL_NAME 这 4 个参数的值就会从 Zbp_GetEnv(DB_HOST) 等中获取 // c_option.php 示…

十五张图带你快速入门 shardingsphere-proxy

Apache ShardingSphere 是一款分布式的数据库生态系统,它包含两大产品:ShardingSphere-Proxy ShardingSphere-JDBC很多同学对于 ShardingSphere-JDBC 已经能非常熟悉的使用了,但关于网上关于 ShardingSphere-Proxy 5.5 的使用教程却非常少。 所以这篇文章,笔者尝试带大家快…

ZBlog关于使用PHP7出现错误的提示

若出现以下错误: (2)E_WARNING : Leaked 1 hashtable iterators (register_shutdown_function) (150101) (Linux; nginx1.9.12; PHP 7.0.4; mysqli; curl) 最简单的解决方案:请升级到PHP 7.0.5以上版本。扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉各…

ZBlog禁止直接在数据库内使用rand()进行随机读取

很多开发者喜欢用类似以下的代码来取得随机文章:$array = $zbp->GetArticleList(array(*),$where,array(rand()=> ),array($numm),);这样做有以下问题:1. 不支持MySQL之外的数据库;2. 数据量上万即奇慢无比。 所以,除非特殊情况,我们今后不再允许代码含直接在数据库…

ZBlog文件权限安全设置指南

为了防止ZBLOG被黑或是系统漏洞网站被攻破,可以将网站权限做如下设置,可以在宝塔面板的文件管理里操作。 A:需要保留w权限的目录及子目录及其下所有文件zb_users/cache zb_users/uploadB:需要删除w权限的有zb_system及其子目录 zb_users下除了cache,upload的其它目录 根目录…

HTMLTestRunner_cn测试报告不显示案例的函数注释解决方法

找到生成函数注释的代码如下: def generate_report_test(self, rows, cid, tid, n, t, o, e): # e.g. pt1.1, ft1.1, etc has_output = bool(o or e) # ID修改点为下划线,支持Bootstrap折叠展开特效 - Findyou tid = (n == 0 and p or f) + t%s%s % (cid + 1, tid + 1) name =…

ZBlog程序nginx的安全配置伪静态

location ~* /(zb_users/cache|zb_users/upload|zb_users/logs)(.*)\.php$ { deny all; return 404;}location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md){ return 404;}扫码添加技术【解决问题】专注中小企业网站建设、网站安全12年。熟悉…

无线遥控系统2.4G

1. 433M和2.4无线遥控的区别 433传输距离远,速率低,过障碍物能力强,需要外接天线,2.4G距离近,速率高,,过障碍物能力弱,用PCB天线

使用zig语言制作简单博客网站(四)项目文件整理

创建文件夹、文件 请按照下图结构创建文件夹、文件,以此来划分各部分功能添加、整理代码