用于循环目录的调整输出

时间:2016-02-05 19:27:02

标签: c# .net windows-7

我有一些代码可以循环遍历目录并在列表框中显示结果。我有一切工作,但输出显示列表框中的整个文件路径(\ server \ directory \ directory \ subdirectory \ filename.filetype)。理想情况下,我希望这只显示文件名和文件类型(即workbook1.xlsm)。

string[] filePaths = Directory.GetFiles(@"\\Server\directory\Folder\Folder\", "*.xlsm", 
                     SearchOption.AllDirectories);
statusCodeLB.Items.Clear();
foreach (string file in filePaths)
{
    statusCodeLB.Items.Add(file);
}
statusLabel.Text = statusCodeLB.Items.Count.ToString();

另外,有没有办法让它在Mac OS X上完全正常运行(准确地说是10.6和10.7)?

1 个答案:

答案 0 :(得分:6)

  

我有一切正常,但输出显示列表框中的整个文件路径(\ server \ directory \ directory \ subdirectory \ filename.filetype)。理想情况下,我希望这只显示文件名和文件类型(即workbook1.xlsm)。

您正在寻找Path.GetFileName(path),记录here。文档内容如下:

  

返回指定路径字符串的文件名和扩展名。

string[] filePaths = Directory.GetFiles(@"\\Server\directory\Folder\Folder\", "*.xlsm", 
                     SearchOption.AllDirectories);
statusCodeLB.Items.Clear();
foreach (string file in filePaths)
{
    statusCodeLB.Items.Add(Path.GetFileName(file));
}
statusLabel.Text = statusCodeLB.Items.Count.ToString();

如果文件是(输入)"C:\Some\Directory\Structure\fileName.ext",则添加到ListBox.Items的结果字符串将是(输出)fileName.ext