首页 > 系统相关 >tips in windows/ 1.windows文件路径最长限制

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

时间:2024-08-25 13:06:00浏览次数:8  
标签:文件 限制 windows 路径 Python 260 tips

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 个字符的文件路径,而无需修改系统的全局设置。

标签:文件,限制,windows,路径,Python,260,tips
From: https://www.cnblogs.com/cha9/p/18378840

相关文章

  • Windows系统安装MySQL
    在Windows中安装mysql不够幸运的话,会遇到相当多的坑,当然这也算是一种财富吧,让自己碰到问题去查找解决方案。有时候不是一时半会就可以解决的。有同学说过安装mysql安装两天还没有装上。不用担心,我安装mysql用了一天吧,下面记录下来安装过程及可能遇到的问题。工欲善其事,必先利其......
  • C#面:在 MVC 中如何执行 Windows 认证?
    在MVC中执行Windows认证可以通过以下步骤实现:在Web.config文件中启用Windows身份验证。找到<system.web>节点,并确保已经添加或者设置。在Controller的Action方法上使用[Authorize]属性来限制只有经过Windows身份验证的用户才能访问该Action方法。在View......
  • Ubuntu美化为类Windows风格
    博主的系统为Ubuntu22.04参考文献:HowtoMakeUbuntuLookLikeWindows11|22.04GNOME43/42|LinuxAFTech可能遇到的bug的解决方法:如何在Linux中安装和更改GNOME主题先来一下视频演示:先欠着。下面正式开始安装。在主文件夹下打开终端sudoaptinstal......
  • 代码随想录第15天,110.平衡二叉树,257. 二叉树的所有路径, 404.左叶子之和, 222.完全二叉
    110.平衡二叉树//平衡二叉树,理解稍微有点难度#include<iostream>#include<algorithm>//Forstd::absandstd::maxfunctionsstructTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(nullptr),right(nullptr......
  • 代码随想录第16天:513.找树左下角的值、112. 路径总和、106.从中序与后序遍历序列构造
    513.找树左下角的值,层序遍历//找树左下角的值,用层序遍历很容易实现#include<iostream>#include<queue>structTreeNode{intval;TreeNode*left;TreeNode*right;TreeNode(intx):val(x),left(nullptr),right(nullptr){}};//找到最底层......
  • PyQt5 / PySide 2 + Pywin32 自定义标题栏窗口 + 还原 Windows 原生窗口边框特效(2)
    前言:已修复上一篇文章中提到的Bug,增加状态切换动画:PyQt5/PySide2+Pywin32自定义标题栏窗口+还原Windows原生窗口边框特效-CSDN博客https://blog.csdn.net/2402_84665876/article/details/141487635?spm=1001.2014.3001.5501仍然存在的问题:打开窗口时窗口标题栏......
  • 【Windows提权】windows环境变量滥用维权/提权
    原创掌控安全学院-camer#include<windows.h>#include<stdio.h>intmain(intargc,char*argv[]){//恶意程序wchar_t*Shell=L"C:\\Windows\\Temp\\shell.exe";HINSTANCEhInstance1=ShellExecuteW(NULL,L"open......
  • 微信小程序根据本地缓存图片路径,生成缩略图的方法
    公共方法js文件/***生成缩略图*@paramcanvasIdcanvas容器的id*@paramfileUrl缓存在本地图片的路径*@paramthumbnailRange期待生成的缩略图尺寸范围,默认150,即宽或高不会超过150px*/functiongenerateThumbnail(canvasId,fileUrl,thumbnailRange=150){......
  • 将洛谷私信接入Windows
    首先下载一个私信Github:https://github.com/GCSG01/LG_Show_Massger/archive/refs/heads/main.zip然后解压,找到src/settings.json,把你的洛谷cookie和UID填进去,点击Start.cmd运行。(其余的不要改)之后不出意外就会有两个窗口:AI功能:下载仓库:https://github.com/OI-liyi......
  • windows系统蓝屏怎么办_Windows系统蓝屏原因查找及解决方法
    电脑蓝屏怎么办?windows蓝屏是十分常见的故障,也是十分难以解决的问题,例如软件冲突兼容性问题、系统补丁bug、超频不当、系统文件损坏、硬件驱动兼容性、虚拟内存设置不当、电脑硬件温度过高、内存硬盘等硬件损坏、内存松动等均可能造成电脑蓝屏,正因为可能性太多了,只有对症下药......