问题标签 [long-filenames]
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.
regex - 用于匹配文件后缀的正则表达式,其中文件名包含多个句点
我正在尝试匹配一系列后缀,但是,我们的文件名通常包含多个句点,例如“Document A V0.1.1.docx”
我尝试了许多解决方案,但似乎没有一个对我有用,而且我不是一个很好的正则表达式用户......这就是我要去的地方,但它无法忽略文件名中的多个句点。
正则表达式将在 DocFetcher 程序中用于从索引中排除大量文件,其中后缀文件名内容对使用 DocFetcher 的人没有用处。
建议?
r - R - 按文件名中的日期选择文件
我在这里已经有一个类似的问题: R - 如何按文件名中的日期选择文件?
但我必须做一点改变。
我仍然有一个文件名列表,类似于:
我已经有一个命令可以整理出具有一定记录长度的文件(例如本例中的 10 个):
我现在的问题是我有太多文件,没有计算机可以处理。
现在我只想读入包含 1993 年(或我想要的任何其他特定年份)的文件的文件,并且从那时起有 10 年的录音,所以录音应该至少到 2003 年。
所以不应该包含 1973-1994 的文件,但是 1981-2011 的文件是可以的。
在这种情况下,我不知道如何选择年份。
我很感谢任何帮助
filenames - 是否有从同一文件夹中的不同位置重命名文件的通用策略?
例如,我有来自位置 a 和 b 的名为“a”的文件,我将它们放在同一个文件夹中。是否有一些最佳实践,如何重命名这些重复项以使旧名称保持可区分?
这些文件的内容是通过 libcurl 从各种 URL 下载的,所以我有这些文件的主机名,但是在同一主机上可以有相同的文件名具有不同的路径,我知道这些文件的路径,但是路径可能太长而无法存储在文件名中。
我也有这些文件的 Adler-32 散列,但是可能有一个具有相同内容的文件具有相同的名称,因此将散列放入文件名会导致新的重复。
所以我想将原始文件名存储到新文件名中,以免丢失原始名称,但添加一些内容以不覆盖旧文件。我对附加“-copy”的 Windows 系统不满意,因为您最终会得到像“a-copy-copy”这样的文件名,我对 Ubuntu 附加“(副本)”/“(另一个副本)”/ 不满意“(第 3 份)”/“(第 4 份)”/...
也许只是添加文件名实例的数量就可以了,但是将数字放在文件名的开头会破坏文件名排序并将其放在末尾会更改扩展名,如果没有类似“a”的话=>“a.0”。
c# - .Net 4.6.2 C# 长路径处理 - 仅在发布版本中引发非法字符异常
我将我的项目切换到 .Net 4.6.2 以避免 MAX_PATH 问题。我还读过前面加上“\\?\”允许更长的路径。我这样做了,但现在有一个奇怪的问题。使用调试配置构建时,它正在工作,而发布配置构建抛出“路径中的非法字符”。这样做时的例外情况:
根据调试器,两者之间没有变化,并且在两种情况下组合路径都是相同的。
我目前不知道出了什么问题,因为所有项目都切换到 4.6.2 并且 afaik 这不依赖于配置。还是我在这里错过了一个选项?
编辑:我同时尝试了一个非常简单的环境,使用控制台应用程序来确保没有副作用。有趣的是,它现在在两种情况下都会抛出,所以发布/调试之间没有区别。路径是存在的。我在 Windows 7 上使用 VS2013 构建它。
Edit2:看起来 VS2013 的行为与 VS2017 不同。VS2017 不会抛出异常,VS2013 会...
c++ - 如何通过 C++ 可执行文件中的清单启用“长路径感知”行为?
我正在尝试按照Microsoft 文档来解除MAX_PATH
Windows 10 下 API 中的文件路径限制。它说:
您还可以通过清单为每个应用启用新的长路径行为:
那么,第一个问题。是否可以在 Visual Studio 2017 的项目属性中启用它?
第二个问题:我没有在上面找到答案,所以我决定走手动路线:
我这样创建了
/li>additional.manifest
文本文件:然后我将它添加到项目属性中:
- 但是当我编译它时,它给了我这个警告,并且当应用程序运行时,清单似乎没有效果:
1>additional.manifest:清单创作警告 81010002:命名空间“ http://schemas.microsoft.com/SMI/2016/WindowsSettings ”中无法识别的元素“longPathAware ”。
那么我做错了什么?
c# - 为什么 .NET 不能检测具有长文件路径的目录?
如果这些文件的完整路径超过 260 个字符,我无法枚举目录中包含的文件。以下代码显示了问题:
我的 app.manifest 文件包含:
但所做的只是将错误从 PathTooLongException 更改为 DirectoryNotFoundException。
这是我的 App.config:
我在 Windows 10 Pro 上,使用 Visual Studio 2019 16.1.1。我的目标是 .NET 4.7.2。
如何枚举这些超长目录中的文件?它们位于我无法控制的共享网络驱动器上,因此重命名目录不是我的选择。
c++ - 克服 MAX_PATH 文件名长度
我已经阅读了很多关于这个主题的文档,但我似乎无法弄清楚。
原因是我必须处理可能比MAX_PATH
参数长的文件路径,导致很多问题
我已经用等效的 ( ) 替换了我的所有ANSI
-functions ,以便支持带有前缀的扩展文件路径长度:.GetFileAttributesA
UNICODE
GetFileAttributesW
\\?\
但是,我还需要检查文件路径是否是符号链接,我需要知道文件大小、上次修改日期等。
为此,我使用了该stat
函数,如下所示:
ENAMETOOLONG
因此,由于文件名太长(超过MAX_PATH
),问题再次出现在错误中。
所以,我发现我可以用fstat
它的描述符来访问文件。但是,要获取描述符,我需要使用fopen
,这也有ENAMETOOLONG
局限性。
所以,我的问题是。对于stat
超过MAX_PATH
download - 有没有办法下载文件名有意义的 Twilio 通话录音?
从 Twilio 我可以下载通话录音文件。我也成功下载了 CallSID CSV 文件。通话录音文件名没有给出任何关于所涉及的电话号码等的提示。我找不到一种方法来简单地匹配它们或简单地将音频文件重命名为可以理解的内容,例如..... DATE-FROM-18135551212- TO-13334445555.mp3 如果我能做到这一点,我可以简单地将文件从 Twilio 下载到我的硬盘驱动器,然后按日期或电话号码搜索稍后的呼叫。我有可以追溯到 2017 年的在线电话,因此 Twilio 上的存储现在非常高。
azure - 在 Azure Service Fabric VMSS 群集上启用长文件路径
我的 Azure Service Fabric 应用程序有时需要比 MAX_PATH 更长的路径,尤其是考虑到工作目录的长度。因此,我想启用长文件路径(通过注册表的 LongPathsEnabled 值、组策略或其他机制,请参阅https://superuser.com/questions/1119883/windows-10-enable-ntfs-长路径策略选项缺失)。但我不知道该怎么做。
集群在 Azure VMSS 上运行,因此我可以远程访问各个实例并手动设置它,但这当然不能很好地扩展。
更新:
@4c74356b41 的回答让我大部分时间都在我需要的地方。我的 VMSS 已经安装了 customScript 扩展,所以我实际上必须修改它以包含 PS 命令,这是我的最终命令:
c# - 长文件名并单击一次
我们在使用 clickonce 部署的应用程序时遇到了问题。如果我们创建的文件ApplicationDeployment.DataDirectory
超过了已知的 Windows 260 字符限制,那么在部署应用程序更新时,应用程序将崩溃。我们在 windows 事件日志中得到这个:
仅当数据目录中有超过 260 个字符限制的文件时才会发生。没有这些文件,升级工作正常。一般来说,我们的应用程序在长路径名下工作正常,这只是单击一次的问题。
我有点困惑从这里去哪里。Windows、.Net 或 clickonce 中是否有任何配置或设置可以帮助解决这个问题?我们已经尝试了通常的选项,但似乎没有一个能有所作为:
https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/ https://docs.microsoft.com/ en-us/windows/win32/fileio/naming-a-file#enable-long-paths-in-windows-10-version-1607-and-later
在这一点上,这似乎只是 clickonce 的一个错误。我目前最好的选择似乎是将我们的文件系统访问权限迁移到使用独立存储,但这似乎是一项巨大的时间投资。我希望有人会知道一些简单的事情来尝试。