【问题标题】:Adjusted output for looping through a directory调整输出以循环浏览目录
【发布时间】:2016-05-15 21:24:05
【问题描述】:

我有一段代码用于循环遍历目录并在列表框中显示结果。我一切正常,但输出在列表框中显示了整个文件路径(\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)上完全正常运行?

【问题讨论】:

    标签: c# .net windows-7


    【解决方案1】:

    我一切正常,但输出在列表框中显示了整个文件路径 (\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

    【讨论】:

    • 这可能需要一个单独的问题......但我将如何调整它以不拉入临时文件“~filename.ext”?
    • 单独问题,询问进一步过滤文件。
    • 我会问一个单独的问题。感谢您对此的快速帮助。
    猜你喜欢
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-06-22
    • 2013-07-19
    • 2020-06-07
    • 1970-01-01
    • 2012-07-20
    • 2011-09-14
    相关资源
    最近更新 更多