问题标签 [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.

0 投票
2 回答
1014 浏览

c# - Windows 10 最大路径长度限制

像我之前的一些人一样,我对最大路径长度限制感到困惑。我使用 robocopy 和新的 Windows 10 机器成功地将文件树传输到 NAS。
在源计算机上,所有文件都在 260 个字符的限制内。使用 robocopy 将它们从路径 e: 复制到路径 \nas-3tb-backup\Public\Save_2019。之后我想用一个小的 C# 程序检查它,但我没有成功。FileInfo 和 File.OpenRead 都无法通过 NAS 名称找到具有扩展路径的文件。记事本、Visual Studio Code、Windows Explorer 等所有程序在显示或打开此文件时都没有问题。我尝试使用此处显示的前缀 \\?\:https ://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN#maxpath但是 \\?\\\nas-3tb-backup---- 的尝试失败了。链接的文章中仍然有提示更改注册表时扩展路径。我想避免这种情况,因为那时我将不得不更改所有 Windows 计算机,并且由于 Windows 自己的程序可以在没有注册表黑客的情况下工作,所以对我来说应该是可能的。

0 投票
0 回答
38 浏览

batch-file - 用增加的数字替换文件名以稍后恢复的批处理脚本

我正在尝试编写一系列脚本来将一个充满非预定文件的文件夹和可能的子目录从 Windows 7/10 环境复制到在 Vanilla DOSBox 0.74 中运行的 MS-DOS 7.0 环境(即 DOS 模式下的 Windows 95) -3。无法解决或更改的复制过程会破坏长文件名。MS-DOS 7.0 端的软件需要这些长文件名才能正常运行。

我的计划是有一个 Windows 批处理脚本,它可以简单dir /b /on /s > lfn.txt地跟踪所有长文件名。

然后下一步理想情况下,这就是我难过的地方,通过 lfn.txt 回读并将所有文件从上到下重命名为从 1 开始的递增整数并且永不重置。我的目标是能够复制和调整这个脚本以在 MS-DOS 上工作,而它在相反的情况下工作。如果解决方案,即使在概念上,可以使便携,我更喜欢那个解决方案,即使它更冗长或效率低下。

如果这已在其他地方被问及并回答,我深表歉意。如果有请在关闭此线程之前链接到它。

0 投票
1 回答
155 浏览

node.js - 用于生成可读文件名的长句缩短器

我正在寻找一种缩短句子(几行文本)以产生“可读”(不太长)文件名的方法。

应用场景是一个聊天机器人,用户可以在其中提交媒体,比如视频,以及一些配对的描述文本(标题)。应用程序会为视频分配一个可读的文件名,然后通过他的文件名检索视频。

想象一个视频与或多或少的场景长文本描述配对,例如:

我怎样才能用“合适的”短文件名来缩短上面的描述?

好的,我可以把这个句子作为一个名字,也许有点净化,比如:

但这样我可以超过文件名大小的 255 限制(例如在 Linux 上)

对缩短算法有什么想法吗?也许我可以用单词缩写来构建缩短的文件名?也许我可以从句子文章、介词等中删除?

顺便说一句,一个小问题:我正在使用意大利语,因此需要对字符进行一些清理才能生成好的文件名。

最后但并非最不重要的一点是,我正在寻找 JavaScript/Node.js 代码

0 投票
1 回答
191 浏览

c - 由于长路径导致的 fopen 错误不存在此类文件

我想知道 fopen 是否由于路径长或文件不存在而在 C 中失败

第一个 fopen 的路径很长,而第二个 fopen 很短但文件不存在。对于这两种情况,输出是相似的:

有没有办法知道区别?

0 投票
1 回答
140 浏览

assembly - 用长文件名在 16 位汇编中创建文件

a 制作了一个 proc,它为我创建了一个文件(在 dos 框中的程序集 16 位中),并且它在短文件名下工作得很好(见下文)。但是,当名称超过 8 个字符时,所有其他字符都将被删除。例如对于路径:'logs\log_YYYY_MM_DD.log', 0 它将创建一个名为 log_YYYY.log 的文件我如何制作一个名称超过 8 个字符的文件。谢谢你。

0 投票
1 回答
245 浏览

windows - Windows 10 的 MFT 中如何处理 DOS 文件名?

文件名存储在文件记录的 $30 属性中的 MFT 中。在 Windows 10 之前,文件记录通常有两个 $30 属性,第一个用于 8.3 文件名,如果文件名的长度超过 8 个字符,第二个用于长文件名。(如果存在硬链接,则可能有更多 30 美元的属性)。

这在 Windows 10 中发生了变化。8.3 和长文件名都存储在一个 30 美元的属性中(除非在注册表中关闭了 8.3 文件名的创建)。

这给我留下了两个问题:

  1. 如何从 $30 属性中提取 8.3 文件名?
  2. 显然,Windows 10 的现有版本仍然具有两个 30 美元的属性。在什么时候发生了变化?
0 投票
1 回答
646 浏览

file - 无法删除具有无效字符的文件名 windows 10

[文件名包含无效字符][1]

0 投票
1 回答
161 浏览

hibernate - quarkus 本机图像插件 (graalvm 20) 在 Windows 10 主页上崩溃(错误 206):无法运行程序、文件名或扩展名太长

我无法在 Windows 10 家用计算机上为 quarkus 应用程序成功运行“mvn package -Pnative”。它失败并出现错误“文件名太长”。有什么想法吗?我已经在 Windows regedit 和 gpedit 上激活了长路径名......

该命令适用于“hello world”示例,所以我认为整体配置很好。安装的quarkus功能有:agroal、cdi、hibernate-orm、jdbc-mysql、mutiny、narayana-jta、resteasy、resteasy-jsonb、security、security-jpa

0 投票
0 回答
85 浏览

c - Watcom 编译器中的长文件名支持

我正在使用 Watcom C32 优化编译器版本 11.0。

我开发了一个示例程序test.exe。这将创建一个具有长文件名的文件(例如:“用于 testing.txt 的示例文件”)并在其中写入一些虚拟内容。

当我在加载了 DOSLFN 的 FreeDOS 环境中编译和执行程序时,我看到示例程序 test.exe 正在创建一个具有短文件名(“sample f.txt”)而不是长文件名(“sample file for测试.txt") 。

所以这让我觉得 Watcom 不支持长文件名(LFN)。

有什么建议可以让 LFN 在 Watcom 中工作吗?我查看了编译器选项,没有看到任何内容。是否需要启用任何特殊的宏才能使其工作?

0 投票
3 回答
72 浏览

python - 在 python 3 中保存特定文件名的问题

在 jupyter lab 中运行以下程序后,保存的文件名是('test_C0_s50_d', 1, 't', 2, '18_l1w'),但我不希望文件名中有括号、逗号和空格。我想要类似于test_C0_s50_d1t2_18_l1w文件名的内容,以便在更改 i 和 j 值时可以找到另一个名称。