问题标签 [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.
c# - C#:使用 Directory.GetFiles 获取固定长度的文件
目录“C:\temp”有两个文件,分别名为“GZ96A7005.tif”和“GZ96A7005001.tif”。它们具有不同的长度和相同的扩展。现在我运行以下代码:
“resultFileNames”返回两个项目“c:\temp\GZ96A7005.tif”和“c:\temp\GZ96A7005001.tif”。但是 Window Search 可以正常工作。这就是为什么以及如何得到我想要的?
r - 将非 8dot3 目录路径的短名称扩展为长名称
在R
on 中Windows
,tempdir()
返回包含 的短名称的路径non 8dot3 directory names
。
如何将它们扩展为长名称?
使用纯R
代码的答案是有利的,但使用众所周知的 shell 命令的答案system()
可以作为备份。
c# - 如何将字符串添加到 string[] 数组?没有 .Add 功能
我想将其转换FI.Name
为字符串,然后将其添加到我的数组中。我怎样才能做到这一点?
windows - 如何从 Perl 创建然后使用长 Windows 路径?
我有一个构建过程的一部分,它在 Windows 中创建了一个非常长的路径。这不是我的错。有好几个目录,而且没有一个目录名异常长;它们足够长且数量足以使其结束MAX_PATH
(260个字符)。我没有在这些名称中使用除 ASCII 以外的任何东西。
最大的问题是,在目标期间, Module::Build的内部深处发生了爆炸dist
,尽管我认为构建系统并不重要,因为它们会创建相同的目录。
创建这些过长目录之一File::Path
失败:
同样,一旦绝对路径超过,手动构建每个目录级别都会失败MAX_PATH
。
这不是新的,也不是 Perl 的错,微软在Naming Files, Paths, and Namespaces中记录了它。他们的修复建议\\?\
在任何路径前添加访问 Unicode 文件名 API 的路径。但是,这似乎不是 Perl 脚本的完整解决方案,因为它仍然失败:
这可能是因为make_path
拉开它的参数,然后一次通过一个级别的目录,所以\\?\
只适用于顶级,即在MAX_PATH
.
我向 ActiveState挖了一个错误报告,表明我需要修复一些其他内容才能获取 Unicode 文件名,Jan Dubois 在Re: "long" filenames on Windows 2K/XP中提供了更多详细信息,尽管我是不确定它是否适用(并且非常旧)。perlrun提到这个用途是-C
开关的工作,但显然那部分被放弃了。perl RT 队列有一个更新的错误60888:Win32: support full unicode in filenames (use Wide-system calls)。
Miyagawa注意到一些 Unicode 文件名问题和Win32API::File,但没有特别提到长路径。但是,Win32API::File CPAN 论坛条目似乎只表示恐惧,这会导致愤怒,这会导致仇恨,等等。Perlmonks帖子中有一个示例How to stat a file with a Unicode (UTF16-LE) filename in Windows? . 似乎这Win32::CreateDirectory
就是答案,下次我在 Windows 机器旁边时会尝试这样做。
然后,假设我可以创建长路径路径。现在我必须教 Module::Build,也许还有其他东西来处理它。Win32::GetANSIPathName()
如果按照锡上所说的那样使用monkeypatches,这可能会立即变得容易。
c# - 如何在 SaveFileDialog 的默认 FileName 中设置长字符串(> 260)?
我正在使用 SaveFileDialog 并且必须在 FileName 中设置长字符串(longFileName)。String longFileName 在运行时是已知的。
如果我设置
然后我明白了System.IO.PathTooLongException
。
我该怎么做?
java - 如何在 Java 中解开 Windows 文件名?
从 Java 中,我将一个可执行文件提取到使用 File.createTempFile() 指定的位置。当我尝试运行我的可执行文件时,我的程序在尝试读取第一行输出时挂起。
我发现如果我尝试从另一个程序运行相同的提取可执行文件,如果我将目录指定为 C:\Documents and Settings\username\Local Settings\Temp\prog.exe,它就可以工作。但是,如果我将目录指定为 C:\DOCUME~1\USERNA~1\LOCALS~1\Temp\prog.exe 我就会挂起。
有没有办法在我的程序中解开波浪号文件名,以便我可以指定一个可以使用的目录名?
(而且由于我总是喜欢解决语言和 API 设计问题,有什么理由为什么 Java File.createTempFile() 和 java.io.tmpdir 必须评估损坏的文件名?)
c++ - C++ WinAPI:处理长文件路径/名称
我正在考虑在我的 Windows 应用程序中处理更长的文件路径。
目前,我有一个文本框(编辑框),用户可以在其中键入绝对文件路径。然后,我使用 , 将输入的文件路径读GetWindowText
入一个声明如下的字符串:TCHAR FilePath[MAX_PATH];
显然,在这里我依赖于将MAX_PATH
我限制为 260 个字符的常量。因此,要处理更长的文件/路径名称,我可以像这样扩展我的 TCHAR 数组TCHAR FilePath[32767];
:
或者,还有更好的方法?我可以使用可变长度数组吗?(TCHAR FilePath[];
这在 C++ 中甚至可能吗? - 对不起,我对此很陌生)。
提前谢谢你!
这是我上面提到的整个代码片段:
java-me - j2me 应用程序的图像文件的最大长度?
我正在 j2me 中构建一个应用程序,我将通过无线连接接收图像。我想知道保存文件名时文件名的最大长度是多少。我的主要动机是通过文件名存储有关图像的一些信息。
windows - Windows:创建不存在驱动器的快捷方式不允许长文件夹和文件名
我正在尝试使用 PowerShell 创建一个以映射驱动器上的文件为目标的快捷方式。不过,此脚本将在驱动器实际映射之前运行。这是代码:
因为“X”驱动器还不存在,所以快捷方式的“目标”字段最终会这样说:
Windows XP:X:\Folder_W\This_is_.txt
Windows 7:X:\Folder_With_Spaces\This_is_a_long_filename.txt
两种操作系统都会删除周围的双引号并将空格转换为下划线。Windows XP 还将文件夹和文件名截断为 8 个字符。
有没有办法解决这个问题?