如何读取名称中包含方括号的文件夹的文件路径
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("\"","")
我的文件路径如下:
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("\"","")