标签: long-filenames

将非8dot3目录路径的短名称扩展为长名称

Ron中Windows,tempdir()返回包含短名称的路径non 8dot3 directory names.

如何将它们扩展为长名称?

使用纯R代码的答案是有利的,但使用通过使用的众所周知的shell命令的答案system()很好作为备份.

r long-filenames

5
推荐指数
1
解决办法
626
查看次数

encfs中的文件名长度限制是否有解决方法?

我将Dropbox与encfs一起使用。问题是我的主机在文件名中仅支持256个字符,因此encfs仅支持〜190。有没有一种方法可以避免这种情况,而无需重新安装主机文件系统并增加其限制?

我主要在ubuntu 11.10中使用ext4作为文件系统,但同时将hfs作为文件系统的Mac OSX 10.6和Windows对我而言并不那么重要。

干杯,布鲁贝尔。

encryption long-filenames

5
推荐指数
1
解决办法
2336
查看次数

_wsplitpath_s() 用于长路径的替代方法

我正在通过使用库函数_wsplitpath_s()来解析路径以与 Win32 API 函数一起使用。

根据此 MSDN 文档,长路径(长于MAX_PATH字符)必须以前缀\\?\. 但是,当我将它附加到完整路径字符串时,_wsplitpath_s()无法正确解析它。

示例代码:

std::wstring FullPath = L"\\\\?\\K:\\A Directory\\Another Directory\\File Name.After Period.extension";
std::wstring Drive, Directory, FileName, Extension;
Drive.resize        (FullPath.size());
Directory.resize    (FullPath.size());
FileName.resize     (FullPath.size());
Extension.resize    (FullPath.size());
errno_t Error = _wsplitpath_s(  FullPath.c_str(),
                                &Drive[0],
                                Drive.size(),
                                &Directory[0],
                                Directory.size(),
                                &FileName[0],
                                FileName.size(),
                                &Extension[0],
                                Extension.size());
std::wcout << L"Full path to be splitted :    " << FullPath.c_str()     << std::endl;
std::wcout << L"Drive                    :    " << Drive.c_str()        << std::endl;
std::wcout << L"Directory                :    " …
Run Code Online (Sandbox Code Playgroud)

c++ winapi long-filenames string-parsing

5
推荐指数
0
解决办法
2359
查看次数

Windows中的长路径/文件名使R中出现write.table()错误

在R中,我write.table()用来将文件写入具有长名称的目录中嵌入的位置。但是它的错误如下:

file(file,ifelse(append,“ a”,“ w”))中的错误:无法打开连接另外:警告消息:在file(file,ifelse(append,“ a”,“ w”))中:无法打开文件'data / production / Weekly_Prod_201407_Selling_Price_Snapshot_20140930_Median_Selling_Price_Map.csv':没有此类文件或目录

然后当我将文件名缩短为 Weekly_Prod.csv,它起作用了!因此,似乎长路径和长文件名导致R错误。

我对其进行了几次测试,发现路径+文件名的总长度限制为260个字符。也就是说,R大于等于261个字符时会出错。有办法解决这个问题吗?请帮忙。谢谢!

r long-filenames

5
推荐指数
1
解决办法
3181
查看次数

.NET为什么无法检测到文件路径较长的目录?

如果这些文件的完整路径超过260个字符,则无法枚举目录中包含的文件。以下代码显示了该问题:

void TestLongPath(DirectoryInfo testDirectory)
{
    if (testDirectory.Exists)
    {
        try
        {
            testDirectory.GetFiles("SomeFileNamePattern*");
        }
        catch (System.IO.DirectoryNotFoundException)
        {
            Console.WriteLine("Long path test failed for " + testDirectory.FullName);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我的app.manifest文件包含:

<application xmlns="urn:schemas-microsoft-com:asm.v3">
    <windowsSettings>
        <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
    </windowsSettings>
</application>
Run Code Online (Sandbox Code Playgroud)

但是所有要做的就是将错误从PathTooLongException更改为DirectoryNotFoundException。

这是我的App.config:

<?xml version="1.0" encoding="utf-8"?><configuration>
<startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/>
</startup>
<runtime>
    <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false" />
</runtime></configuration>
Run Code Online (Sandbox Code Playgroud)

我在Windows 10 Pro上,使用Visual Studio 2019 16.1.1。我的目标是.NET 4.7.2。

如何枚举这些超长目录中的文件?它们位于我无法控制的共享网络驱动器上,因此重命名目录对我来说不是一种选择。

.net c# long-filenames pathtoolongexception

5
推荐指数
1
解决办法
101
查看次数

Visual Studio 2022 未生成“GenelatedMSBuildEditorConfig.config”

昨天我试图调试 AWS SystemsManager 源代码,以尝试追踪它在冷启动我的 ASP.NET Core 6 应用程序时导致的长时间延迟。我什么也没得到,但在那段时间它抛出了有关生成的编辑器配置的错误。

我导航到错误,它打开了一些看起来像项目文件的东西。我认为这是源代码的项目文件,并注释掉了该行代码,现在构建很顺利。最后,我取消引用了源项目副本并恢复了 NuGet 包并关闭了当天。

今天,我无法使用 Visual Studio 2022 构建任何解决方案。我尝试的所有操作都会抛出一个错误,即解决方案中每个项目的文件夹GeneratedMSBuildEditorConfig.editorconfig中缺少a obj

我想我最终注释掉了 Visual Studio 配置文件中的某些内容,但我完全不知道文件名是什么或它位于何处,因此我可以修复我的错误。

有人建议我在哪里可以找到这个特殊文件吗?我想在更糟糕的情况下我可以修复 VS,但我不想尝试这样做并发现它破坏了其他东西。

我的 VS2019 仍然可以正常工作,因此它与 VS2022 安装隔离。

registry long-filenames visual-studio-2022

5
推荐指数
2
解决办法
3693
查看次数

如何处理OSError:[Errno 36]文件名太长

在处理尝试创建现有文件或尝试使用不存在的文件时发生的错误时OSError,抛出的s具有子类(FileExistsError,FileNotFoundError).当文件名太长时,我找不到特殊情况的子类.

确切的错误消息是:

OSError: [Errno 36] File name too long: 'filename'
Run Code Online (Sandbox Code Playgroud)

我想捕获文件名太长时发生的OSError,但仅当文件名太长时才会发生.我希望赶上其他OSError可能发生的秒.有没有办法实现这个目标?

编辑:我知道我可以检查文件名长度,但最大文件名长度变化太大,具体取决于操作系统和文件系统,我没有看到这样的"干净"解决方案.

python filenames long-filenames python-3.x

2
推荐指数
2
解决办法
6287
查看次数

如何在SaveFileDialog中的默认FileName中设置长字符串(> 260)?

我正在使用SaveFileDialog并且必须在FileName中设置长字符串(longFileName).字符串longFileName在运行时已知.

如果我订

saveFileDialog.FileName = longFileName ;
Run Code Online (Sandbox Code Playgroud)

然后我明白了System.IO.PathTooLongException.

我该怎么做?

.net c# windows long-filenames savefiledialog

1
推荐指数
1
解决办法
3598
查看次数

C#:使用Directory.GetFiles获取具有固定长度的文件

目录'C:\ temp'有两个名为'GZ96A7005.tif'和'GZ96A7005001.tif'的文件.它们具有不同的长度和相同的扩展名.现在我运行下面的代码:

string[] resultFileNames = Directory.GetFiles(@"C:\temp", "????????????.tif");
Run Code Online (Sandbox Code Playgroud)

'resultFileNames'返回两个项'c:\ temp\GZ96A7005.tif'和'c:\ temp\GZ96A7005001.tif'.但是Window Search可以正常工作.这就是为什么以及如何得到我想要的?

替代文字

.net c# windows filenames long-filenames

0
推荐指数
2
解决办法
7225
查看次数