文件夹字符串中的特殊字符@

时间:2017-11-08 15:42:17

标签: c# visual-studio-2015 .net-4.6

我一直在密切搜索,但回归的结果并不是我想要达到的目标 我想访问服务器上的远程文件夹。痛苦点来自(我假设)文件夹名称中的@。关于文件夹名称的@当然导致我搜索的所有结果中的'\\'主题,这不是我的问题,即使它可能是一个'非法'字符主题。
对于调试我复制字符串rootFolderPath的内容并将其粘贴到它打开的浏览器/资源管理器中(在两种情况下都使用相同的窗口UID)。 rootFolderPath的第一个示例(在注释中)可以很好地运行而不会出现问题。该问题显示在System.IO.Directory.GetFiles行中
第三个例子导致相同的错误,即:

  

发生了'System.IO.IOException'类型的未处理异常   mscorlib.dll其他信息:找不到网络路径。

如何访问该文件夹?不幸的是,我无法更改文件夹的名称(无法访问)。

    //string rootFolderPath = "D:\\Data\\temp\\Debug\\";
    string rootFolderPath ="\\\\shareroom1.eu.test.de@SSL\\DavWWWRoot\\de\\itgqc\\Operational Slide Decks\\Public\\Server with Open Shares (Config Mgmnt)";
    // string rootFolderPath = @"\\shareroom1.eu.test.de@SSL\DavWWWRoot\de\itgqc\Operational Slide Decks\Public\Server with Open Shares (Config Mgmnt)";

    string filesToDelete = @"list_" + tower + "*.xlsx";   // Only delete XLSX files containing "list_" in their filenames

    string[] fileList = System.IO.Directory.GetFiles(rootFolderPath, filesToDelete); <---- here I get the error
     foreach (string file in fileList)
     {
       Console.WriteLine(file + " will be deleted");
       System.Diagnostics.Debug.WriteLine (file + " will be deleted");
       try
       {
        System.IO.File.Delete(file);
       }
        catch (IOException) 
        { log.Error("Could not delete " + file + " probably was blocked");}
      }

环境:VS 2015和.NET 4.6.1

0 个答案:

没有答案