如何从目录中获取文件名,而不是整个路径

33

我使用以下方法获取文件名,但它返回整个路径,我不想获取整个路径。 我只想要文件名,而不是整个路径。

如何仅获取文件名而不是完整路径

path= c:\docs\doc\backup-23444444.zip

string[] filenames = Directory.GetFiles(targetdirectory,"backup-*.zip");
foreach (string filename in filenames)
{ }
5个回答

54
你可以使用GetFileName方法提取只有文件名没有路径的部分。
string filenameWithoutPath = Path.GetFileName(filename);

1
我有很多相同类型的文件,如何获取仅包含该文件名称的文件名列表? - Glory Raj

12

System.IO.Path 在这里是你的朋友:

var filenames = from fullFilename
                in Directory.EnumerateFiles(targetdirectory,"backup-*.zip")
                select Path.GetFileName(fullFilename);

foreach (string filename in filenames)
{
    // ...
}

我需要在这个位置fullFilename中放什么?我需要给什么吗? - Glory Raj

3
尝试使用GetFileName()方法:
Path.GetFileName(filename);

1
You can use this, it will give you all file's name without Extension

    List<string> lstAllFileName = (from itemFile in dir.GetFiles()
                                               select Path.GetFileNameWithoutExtension(itemFile.FullName)).Cast<string>().ToList();

1

Linq很好用

Directory.GetFiles(dir).Select(f => Path.GetFileName(f)).ToArray();


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接