В этой заметке будет показано, как можно получить и изменить имена и расширения всех файлов в выбранной вами папке.
Задача:
Переименовать все файлы в текущей директории.
Решение:
Для начала создадим обычное Windows Forms приложение, после чего на форму поместим одну кнопку и один control folderBrowserDialog, который переименуем в fbd.
Поместите код в обработчик события Button.Click
Основные моменты
Добавьте строку:
1. Получаем все файлы в выбранной директории и загоняем их в массив.
Содержимое массива files:
Как видно в массиве храниться полный путь к каждому файлу.
2. Переименование файла будет осуществляться при помощи метода Move, в который передается два параметра: полный путь к файлу, который нужно перенести или переименовать и новый путь + новое имя файла, либо текущий путь + новое имя файла.
Так как в этом примере файл перемещать не требуется, то изменим лишь только имя файла.
3. Первый параметр у нас уже есть, он хранится в массиве files, осталось получить второй параметр.
Для начала нужно удалить старое имя файла
Воспользуемся методом LastIndexOf(), который в строке
найдет индекс последнего слеша после чего, используя метод Remove, удалим всё, что идёт после него.
После чего добавляем новое имя файла и расширение.
Задача:
Переименовать все файлы в текущей директории.
Решение:
Для начала создадим обычное Windows Forms приложение, после чего на форму поместим одну кнопку и один control folderBrowserDialog, который переименуем в fbd.
Поместите код в обработчик события Button.Click
C#:
private void button1_Click(object sender, EventArgs e)
{
//с помощью диалога выбираем папку с файлами
DialogResult result = fbd.ShowDialog();
if (result == DialogResult.OK)
{
//Получить все файлы в папке
string [] files = Directory.GetFiles(fbd.SelectedPath);
int ind = 0;
for (int i=0; i < files.Length; i++)
{
//поиск индекса последнего слеша
ind = files[i].LastIndexOf('\\');
//переименование
File.Move(files[i], files[i].Remove(ind + 1) + i +".txt");
}
MessageBox.Show("Готово!");
}
}
Основные моменты
Добавьте строку:
C#:
using System.IO;
Содержимое массива files:
C#:
files[0] = C:\ff\Текстовый документ.txt
files[1] = C:\ff\Текстовый документ(2).txt
2. Переименование файла будет осуществляться при помощи метода Move, в который передается два параметра: полный путь к файлу, который нужно перенести или переименовать и новый путь + новое имя файла, либо текущий путь + новое имя файла.
Так как в этом примере файл перемещать не требуется, то изменим лишь только имя файла.
C#:
File.Move(@"C:\ff\Текстовый документ.txt", @"C:\ff\0.txt");
Для начала нужно удалить старое имя файла
C:\ff\
- путь Текстовый документ - имя файла .txt
- расширениеВоспользуемся методом LastIndexOf(), который в строке
C:\ff\Текстовый документ.txt
найдет индекс последнего слеша после чего, используя метод Remove, удалим всё, что идёт после него.
C:\ff\Текстовый документ.txt -> C:\ff\
После чего добавляем новое имя файла и расширение.