• 4 июля стартует курс «Python для Пентестера ©» от команды The Codeby

    Понятные и наглядные учебные материалы с информацией для выполнения ДЗ; Проверка ДЗ вручную – наставник поможет улучшить написанный вами код; Помощь преподавателей при выполнении заданий или в изучении теории; Групповой чат в Telegram с другими учениками, проходящими курс; Опытные разработчики – команда Codeby School, лидер по информационной безопасности в RU-сегменте

    Запись на курс до 15 июля. Подробнее ...

  • 11 июля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 20 июля. Подробнее ...

Статья C# Как переименовать файл?

В этой заметке будет показано, как можно получить и изменить имена и расширения всех файлов в выбранной вами папке.

Задача:
Переименовать все файлы в текущей директории.

Решение:
Для начала создадим обычное 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;
1. Получаем все файлы в выбранной директории и загоняем их в массив.
Содержимое массива 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");
3. Первый параметр у нас уже есть, он хранится в массиве files, осталось получить второй параметр.

Для начала нужно удалить старое имя файла
C:\ff\ - путь Текстовый документ - имя файла .txt - расширение

Воспользуемся методом LastIndexOf(), который в строке
C:\ff\Текстовый документ.txt

найдет индекс последнего слеша после чего, используя метод Remove, удалим всё, что идёт после него.
C:\ff\Текстовый документ.txt -> C:\ff\

После чего добавляем новое имя файла и расширение.
 
Мы в соцсетях: