第二个路径片段不能是驱动器或 UNC 名称

5 c# path bitmap environment-variables image-file

如何通过主文件夹中的环境路径文件夹读取文件夹中的所有图像文件:

   string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "mainFolder"); 
Run Code Online (Sandbox Code Playgroud)

例如,如果一个文件路径的内部文件夹是:

  Bitmap bmp = new Bitmap(path + "/folder/pic1.bmp");
Run Code Online (Sandbox Code Playgroud)

但我想阅读以下所有文件 mainFolder/folder

pic1.bmp
pic2.bmp
pic3.bmp
pic5.bmp
Run Code Online (Sandbox Code Playgroud)

不知道如何正确执行:

foreach (string imageFileName in Directory.GetFiles(path, "/folder/*.bmp"))
{
    using (Bitmap bmp = new Bitmap(imageFileName))
    {
      // process 
    }
}
Run Code Online (Sandbox Code Playgroud)

这样我就有:Second path fragment must not be a drive or UNC name

这样:

foreach (string imgFileName in Directory.GetFiles(path + "/folder/*.bmp"))
Run Code Online (Sandbox Code Playgroud)

我有:Illegal characters in path.

Sam*_*sov 3

此代码失败,因为您必须提供文件名的模式作为第二个参数:

foreach (string imgFileName in Directory.GetFiles(path, "/folder/*.jpg"))
Run Code Online (Sandbox Code Playgroud)

第二个失败,因为“*”是一个特殊符号,而 UNC 路径不接受它。

foreach (string imgFileName in Directory.GetFiles(path + "/folder/*.jpg"))
Run Code Online (Sandbox Code Playgroud)

所以你可以尝试执行以下操作:

foreach (string imgFileName in Directory.GetFiles(path + "/folder/","*.jpg")) 
Run Code Online (Sandbox Code Playgroud)

MSDN 目录.GetFiles