我一直在密切搜索,但回归的结果并不是我想要达到的目标
我想访问服务器上的远程文件夹。痛苦点来自(我假设)文件夹名称中的@。关于文件夹名称的@当然导致我搜索的所有结果中的'\\'主题,这不是我的问题,即使它可能是一个'非法'字符主题。
对于调试我复制字符串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