Как получить имена файлов из каталога, а не весь путь

#c#

#c# #.net #winforms #файл

Вопрос:

Я использую приведенный ниже метод для получения имен файлов. Но он возвращает весь путь, а я не хочу получать весь путь. Мне нужны только имена файлов, а не весь путь.

Как я могу получить только имена файлов, а не весь путь

path= c:docsdocbackup-23444444.zip

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

Ответ №1:

Вы могли бы использовать метод GetFileName для извлечения только имени файла без указания пути:

 string filenameWithoutPath = Path.GetFileName(filename);
  

Комментарии:

1. У меня много файлов с одинаковым типом, как я могу получить список файлов, в которых filenames содержит только это имя файла

Ответ №2:

System.IO.Path твой друг здесь:

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

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

Комментарии:

1. что я должен поместить в это место, fullFilename я должен дать

Ответ №3:

Попробуйте GetFileName() метод:

 Path.GetFileName(filename);
  

Ответ №4:

 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();
  

Ответ №5:

Linq хорош

Каталог.GetFiles( каталог).Выберите( f => Path.GetFileName( f ) ).toArray();