【发布时间】:2016-09-05 17:49:04
【问题描述】:
我有一个文件路径如下:
C:\Recordings\Public\20160901\[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](控制台应用程序)设置读取路径
欢迎任何想法/指针。
更新
我正在使用以下内容调用我的应用程序,这给了我一个错误:
myapp.exe "c:\My Recordings\Public\20160905\[CDPC]\"
以下没有:
myapp.exe "c:\My Recordings\Public\20160905\[CDPC]"
【问题讨论】:
-
一个丑陋的解决方法是在坏字符的每个实例前面加上'\\'(这只是一个字符,已转义)
-
无法复制您的问题:它对我有用您不需要任何特殊技巧,只需在命令行中输入路径作为参数
-
嗯...不应该是 args[1] 吗? args[0] 通常包含文件可执行文件名
-
@Pikoh 不,它是 args[0] ...再次,我正在测试该代码,它确实在工作
-
@MachineLearning 这可能是因为它被封装在双引号中,因为实际目录名称中有空格,即:myapp.exe "C:\My Recordings\Public\20160901[MYPC]\"是我收到错误的时候
标签: c# filepath brackets square