问题标签 [long-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
91 浏览

msbuild - MSBuild 16 和 Windows Server 2012 r2 - 长路径错误

Windows Server 2012 R2上更新到最新版本的MSBbuild (16.5.0+d4cbfca49)后,我遇到了问题。

当我在深层文件夹结构(长度最多 150 个字符)中运行构建时,构建失败,因为找不到项目引用。事实证明,参考路径的长度超过 260 个字符。奇怪的是,可以使用旧版MSBuild (15.9.21+g9802d43bc3)构建相同的项目。

另一个观察结果是,如果将项目移动到路径较短的较浅文件夹结构,则构建工作顺利。

设置了长路径注册表项,但似乎没有帮助。请问有什么想法吗?

0 投票
0 回答
243 浏览

windows - 从长路径启动 win32 应用程序

为我的应用程序启用长路径支持我已完成以下操作:

  1. longPathAware清单嵌入到我的应用程序中mt.exe
  2. 确保LongPathsEnabled注册表项设置为 1

我的应用程序实际上开始能够对位于具有超过260限制的长路径的文件夹中的文件进行操作,但是存在一个问题。

我发现无法启动我的应用程序,其中长路径文件夹是我当前的工作目录。我试过使用cmd, MSYS2, CygWin,explorer

  1. cmd给出以下错误:

  2. MSYS2并且CygWin都给出以下错误:

  3. explorer执行以下操作:

    • 应用程序图标变为空白,就像未知文件类型或没有扩展名的文件一样
    • 双击应用程序没有任何作用

我的应用程序最常见的用例是在当前工作目录中拥有应用程序对其进行操作的文件。因此,鉴于当前工作目录不能超过该限制,这意味着所有这些都是无用的。

所以,我的问题是:有没有办法克服这个问题/限制?

我觉得如果没有这个案例,整个长路径支持没有任何意义。

0 投票
1 回答
49 浏览

npm - 使用相对路径为长路径配置 npm&webpack Win10

当前webpack 打包项目文件夹结构(win10)
root_folder\
|--node_modules
|--src
   |--index.js
   |--template.html
|--package.json
|--webpack.config.js索引

的内容。 jstemplate.html
console.log("Hello webpack");

的内容:

package.json 的内容:


webpack.config.js 的内容:
如何使该文件夹完全可移植,即在运行时npx webpacknpm run build始终可以运行良好,无论是否C:\root_folder\使用C:\very\longpath\root_folder.
已成功运行npx webpack此示例,C:\root_folder\然后我将 ** root_folder ** 复制到其中,并且从它D:\testing\root_folder\运行时有效,这显然表明它是可移植的。 总结:如果 webpack 打包项目的根文件夹属于其他项目,则将它们存储在自己的项目子文件夹中会很有帮助,因此有时能够在嵌套文件夹中包含 root_folder 很有用。 npx webpackD:\testing\root_folder\

问题:有没有一种方法可以使用简单的 npm 脚本甚至 npx 命令在 Windows 中使用本地路径解析所有 root_folder/ 脚本,这样长路径就不会返回错误?
当前答案:很好的方法是将嵌套的 root_folder 复制到一个临时文件夹,C:\temp\root_folder然后从那里进行所有的 npm webpack 处理以及模块捆绑。
0 投票
0 回答
104 浏览

python - 使用 zipfile 模块 python 获取文件未找到错误

解压缩文件时出现此错误,整个路径的字符长度为 271 个字符。这可能是由于路径较长>?Longpathenabled 变量的注册表中的 Longpath 值为 1。

0 投票
1 回答
49 浏览

makefile - 长路径 Windows 10 的 Makefile 包含指令失败

我有一个 Makefile,其中包含另一个带有 include makefile 指令的 makefile,并且包含的​​ Makefile 存在于深层路径(200 个字符)上。Makefile 在读取长路径 Makefile 时不会产生任何错误,但是它的内容不包含在主 Makefile 中。 include <long-path>/my.mk 我也尝试过使用 UNC 路径发布脚本,但这似乎也没有效果。对如何处理 Makefile 中的长路径包含有任何帮助吗?

0 投票
0 回答
20 浏览

long-path - 在 Windows 10 主页上启用长路径

我想在软件机器人上工作并想使用 Robocorp 的 RPA 框架实验室,但它显示“初始化错误:无法构建内核”我试图在我的 Windows 上启用 win32 长路径,但本地组编辑器中的一些文件夹丢失,如文件系统文件夹。计算机配置 > 管理模板 > 系统 > 文件系统 缺少此路径

0 投票
0 回答
61 浏览

java - Windows 长路径作为当前目录

如果我正确理解此文档:https ://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd所有调用都应该使用长路径。我有 Windows 10 版本 1909 并且注册表项Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled设置为 1,我无法在长路径中启动进程:

在 C# 中

或者在java中

我最终有一个 IOException: '目录名无效'

此外,当当前目录是长路径时,git 不起作用:我看到一个新控制台半秒钟。但是所有文件操作都可以正常工作(创建、移动、复制、删除)

难道我做错了什么?我是否缺少有关当前目录的文档部分?它是一个错误/缺少的功能吗?

0 投票
1 回答
74 浏览

windows - 如何使用 Perl 中的 Win32::LongPath 模块来操作长路径名?

我的 Perl 脚本需要使用超过 260 个字符的路径名,我无法在注册表中打开该功能来启用Windows 长路径支持。

我包含了一个小的 Perl 测试,使用该Win32::LongPath模块来执行此操作,并发现该模块中只有少数功能有效。没有运气:

环境:

  • Windows 10 版本 10.0.19041 build 19041
  • 草莓 Perl 5.30.3

我真的找不到Win32::LongPath在那种环境下不起作用的证据,除了 CPAN 说该模块只在 XP 和 Windows 8 上测试过......

⚠ 然而,Windows 10 中 Perl/Windows Long Paths 的所有帮助似乎都推荐了这个模块?

我用错了吗?我在 MRE(最小可重现示例)中包含了循环的最后一次迭代的输出:

  • chdirL命令从不更改目录。
  • getcwdL命令只有 249 个字符(预期为 513 个)。

最后一次循环迭代:

0 投票
0 回答
33 浏览

c# - 文件系统观察器控制中的长路径支持

在我们用 .Net framework 4.8(操作系统:Windows 10)用 C# 实现的客户端应用程序中,我们使用文件系统观察程序控制来检测文件夹的事件。

为了支持长路径,我们尝试在文件夹路径中使用 \\?\。当我们在长路径中创建新文件时,文件系统观察程序检测到“已创建”事件并返回正确格式的完整路径。但是,当我们从长路径中删除文件时,观察者控件的“已删除”事件会触发,但它会返回在文件夹名称和文件名中包含 ~ 波浪号的完整路径。例如\\?\C:\abc\FIRSTF~1\SECOND~1\THIRDF~1\FOURTH~1\FIFTHF~1\....\AVIA~1.jpg

我们尝试了下面的 win32 方法来获得正确的完整路径,但是它没有返回完整路径,

任何人都可以建议是否有任何升级版本的文件系统观察器控件来支持长路径或任何其他替代方法来获得文件的删除或重命名事件的正确长路径?