如何读取名称中包含方括号的文件夹的文件路径

How to read file path where folder has square brackets in the name

我的文件路径如下:

C:\Recordings\Public160901\[MYPC]

我无法更改文件夹的格式

我正在尝试使用以下代码读取文件夹的内容:

foreach (string file in Directory.EnumerateFiles(args[0], "*.*"))
{
    string contents = File.ReadAllText(file);
    Console.WriteLine(contents);
}

我收到以下错误:

Unhandled Exception: System.NotSupportedException: The given path's format is not supported.

我知道 this post 因为我以前在 powershell 中使用过这种方法并取得了很好的效果,但它似乎不适用于 c#。我正在通过 CMD 行 args[0](控制台应用程序)

设置读取路径

欢迎任何ideas/pointers。

更新

我在调用我的应用程序时出现了以下错误:

myapp.exe "c:\My Recordings\Public160905\[CDPC]\"

以下没有:

myapp.exe "c:\My Recordings\Public160905\[CDPC]"

只需删除环绕引号(如果存在)

foreach (string file in Directory.EnumerateFiles(args[0].Replace("\"",""), "*.*"))
            {
                string contents = File.ReadAllText(file);
                Console.WriteLine(contents);
            }

也可以(更精确地)用正则表达式来完成

Regex.Replace(args[0], "(^\")|(\"$)", "") //instead of args[0].Replace("\"","")