问题标签 [pathtoolongexception]

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 投票
1 回答
230 浏览

windows-server-2008 - PowerShell 5.0 PathTooLongException 错误

问题

接收 PathTooLongException - ... 完全限定的文件名必须少于 260 个字符,并且目录名必须少于 248 个字符。

操作系统

  • Windows Server 2008 R2 企业版

PowerShell 版本

  • PS版本 5.1.14409.1018
  • 构建版本 10.0.14409.1018
  • CLRVersion 4.0.30319.36543
  • WSManStackVersion 3.0
  • PSRemotingProtocolVersion 2.3
  • 序列化版本 1.1.0.1

.NET 框架版本

  • 4.5.51209

代码

到目前为止我尝试过的

1 - 设置位置“进一步进入文件夹树”(错误)

2 - Subst TEMP“文件夹进一步进入文件夹树”(错误)

3 - \计算机名\“文件夹进一步进入文件夹树”\(错误)

4 - 使用 2019 服务器,我可以将注册表编辑为“LongPathsEnabled = 1”,我还尝试使用 \?\UNC\ 方法并返回相同的错误。

也试过这段代码,仍然得到错误

询问我的主管是否可以升级到 PowerShell 6.0 或 7.0。

任何帮助或想法将不胜感激。

0 投票
0 回答
845 浏览

windows-10 - Net.Framework 4.7.2 和 Windows 10 中的长路径支持

为了解决路径限制为 255 个字符的问题,做了以下工作:

  1. Windows 10 2004 在“本地计算机策略”中包含“启用 Win32 长路径”。
  2. 在注册表分支中:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem set LongPathsEnabled= 1
  3. 在 VS (Net.Framework 4.7.2) 中创建了一个项目
  4. 添加了清单文件 (app.manifest),包括longPathAware.
  5. 片段<AppContextSwitchOverrides value = "Switch.System.IO.UseLegacyPathHandling = false; Switch.System.IO.BlockLongPaths = false" />被添加到 App.Config

但是PathToLong在使用时仍然会发生异常System.IO

0 投票
0 回答
146 浏览

angular - ASP.NET Core - Windows 10 Pro - 发布到 IIS - 指定的路径、文件名或两者都太长

我正在尝试将带有 Angular 前端的 ASP.NET Core Web 应用程序发布到我的虚拟主机帐户。该项目使用 SSR,这会导致生成的文件以超过 260 个字符的路径结束。

通常我将解决方案文件夹直接放在我的C:\驱动器中,以防止路径超过 260 个字符,这很好用。

昨天我购买了 Windows 10 Pro 并做了以下事情:

  • gpedit.msc → 计算机配置 → 管理模板 → 系统 → 文件系统 → 启用 Win32 长路径 = 已启用
  • Regedit → 定位HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled已设置为1
  • 重新启动我的电脑

现在我正在尝试通过Web Deploy使用 Visual Studio (Administrator) 发布我的 ASP.NET Core with Angular 应用程序,但我仍然得到PathTooLongException

无法复制文件

为什么这仍然发生?

编辑:

我尝试按照此处所述向我的项目添加清单文件,但它仍然无法正常工作:(我的项目中的 longpaths.manifest)

0 投票
1 回答
106 浏览

batch-file - Windows 文件 PathTooLongException:用于识别文件路径长于 255 的批处理文件

问题在我的 Windows 7 机器上的文件同步操作期间, 我有一些超出length=255的文件路径显然无法处理(并且似乎会中断整个操作)。遇到的异常是PathTooLongException

所需的解决方案: 我想创建一个批处理文件来识别超过 255 的文件路径,并将它们输出到.txt文件中(用于诊断审查)

更新 下面接受的解决方案完美运行。

这是我第一次发帖; 请善待

0 投票
1 回答
82 浏览

powershell - Powershell 5.1 - 文件名或扩展名太长。如何将具有动态参数的 1 个命令拆分为更多顺序调用?

问题: 在 powershell 5.1 中,我运行命令 ,并将逗号分隔的字符串列表(动态长度)myProgram传递给它的标志,作为参数。通常有太多字符,有时是 125000 个字符,或更多或更少,其中可能会导致如下所示的错误。-itemsToProcess$commaSeparatedList$commaSeparatedList

$commaSeparatedList = 'file1,file2,file3,file4 ... fileX'

myProgram -itemsToProcess $commaSeparatedList

问题: 我怎样才能避免错误?我如何将其拆分为多个调用,以便永远不会引发错误?调用也必须是顺序的,而不是并行的。

上面的伪代码设置$commaSeparatedList在字符长度短时工作正常/成功,但是如果它太长它会崩溃/失败/错误:

在此处输入图像描述

例如,动态生成的$commaSeparatedList字符为 125k,可能更长或更短。

我们如何检测和避免错误?也许以某种方式将其拆分为多个myProgram -itemsToProcess调用以避免错误? 那会是什么样子?