相关疑难解决方法(0)

为什么Windows中存在260个字符的路径长度限制?

在不合时宜的时刻我几次反对这个问题:

  • 尝试使用深度路径处理开源Java项目
  • 在源代码管理中存储深Fitnesse wiki树
  • 尝试使用Bazaar导入源代码控制树时出错

为什么存在此限制?

为什么还没有被删除?

你如何应对路径限制?...而且,切换到Linux或Mac OS X不是这个问题的有效答案;)

windows path limit

373
推荐指数
10
解决办法
29万
查看次数

检查文件/目录是否存在:有更好的方法吗?

我发现自己这么做只是为了确保文件名不被使用.有没有更好的办法?

Directory.Exists(name) || File.Exists(name)
Run Code Online (Sandbox Code Playgroud)

.net c# file

40
推荐指数
2
解决办法
8万
查看次数

以管理员身份运行Visual Studio不会看到映射的网络驱动器

我的方式File.Exists()(不)工作有问题:当我使用它时,它声称该文件不存在(来自立即窗口):

filePath
"P:\\poolman\\LY21\\2015\\LY21_2015-03-25_03.xml"
File.Exists(filePath)
false
Run Code Online (Sandbox Code Playgroud)

但是,如果我将文件路径复制/粘贴到资源管理器窗口URL(删除转义\),则会打开该文件.

因此File.Exists()声称现有的文件不存在会让我感到烦恼.

这不是路径长度(43),FileInfo并不是这里建议的更好的选择.

这是FileInfo检查的结果:

var f = new FileInfo(filePath);
{P:\poolman\LY21\2015\LY21_2015-03-25_03.xml}
    base: {P:\poolman\LY21\2015\LY21_2015-03-25_03.xml}
    _name: "LY21_2015-03-25_03.xml"
    Directory: {P:\poolman\LY21\2015}
    DirectoryName: "P:\\poolman\\LY21\\2015"
    Exists: false
    IsReadOnly: true
    Length: '(var f = new FileInfo(filePath);).Length' threw an exception of type 'System.IO.FileNotFoundException'
    Name: "LY21_2015-03-25_03.xml"
Run Code Online (Sandbox Code Playgroud)

我怎么处理它?

.net c#

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

UWP检查文件是否存在

我目前正在开发Windows 10 UWP应用程序.应用程序需要检查是否存在名为"01-introduction"的某个PDF文件,如果存在则打开它.如果文件不存在,我已经有了代码.以下代码是我目前拥有的:

        try
        {
            var test = await DownloadsFolder.CreateFileAsync("01-Introduction.pdf", CreationCollisionOption.FailIfExists); 
        }
        catch
        {

        }
Run Code Online (Sandbox Code Playgroud)

此代码无法正常工作,因为检查文件是否存在此处,我尝试创建该文件.但是,如果该文件尚不存在,则将创建一个空文件.如果文件不存在,我不想创建任何内容,只要打开PDF就可以.

如果可能的话,我想查看名为"我的手册"的下载文件夹中的文件夹.

任何帮助将不胜感激.

c# pdf win-universal-app windows-10-mobile windows-10-universal

16
推荐指数
3
解决办法
2万
查看次数

错误:文件路径太长

我试图在C#中使用各种文件函数File.GetLastWriteTime,复制命令放在路径上的文件大于Windows 7上的最大允许路径,即260.它给我一个长路径名错误.在MSDN支持上,他们要求使用\\?\前面的路径.我做了同样的但仍然得到了同样的错误,它似乎没有做任何改变.以下是我的代码.如果我正确使用它或者我需要添加任何东西,请告诉我:
这些我正在使用的所有lib作为代码还有其他东西:

以下是各自的代码:

filesToBeCopied = Directory.GetFiles(path,"*",SearchOption.AllDirectories);
for (int j = 0; j < filesToBeCopied.Length; j++)
{
    try
    {
        String filepath = @"\\?\" + filesToBeCopied[j];
        File.GetLastWriteTime(filepath);
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error Inside the single file iteration for the path:" +
            filesToBeCopied[j] + " . The exception is :" + ex.Message);
    }
}
Run Code Online (Sandbox Code Playgroud)

其中path是Windows机器上以驱动器号开头的文件夹的路径.例如:d:\abc\bcd\cd\cdc\dc\..........

c#

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