Codeby web-security - новый курс от Codeby Security School

Представляем вашему вниманию новый курс от команды The Codeby - "Тестирование Веб-Приложений на проникновение с нуля". Общая теория, подготовка рабочего окружения, пассивный фазинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...


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

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

Дано:

файлы

Задача:

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

Решение:

Для начала создадим обычное Windows Forms приложение, после чего на форму поместим одну кнопку и один control folderBrowserDialog, который переименуем в fbd.

folderBrowserDialog

Поместите код в обработчик события Button.Click

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("Готово!");
}
}

Результат:

переименованные файлы

Основные моменты:

Добавьте строку:

using System.IO;

1. Получаем все файлы в выбранной директории и загоняем их в массив.


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


Содержимое массива files:

files[0] = C:\ff\Текстовый документ.txt
files[1] = C:\ff\Текстовый документ(2).txt

Как видно в массиве храниться полный путь к каждому файлу.

2. Переименование файла будет осуществляться при помощи метода Move, в который передается два параметра: полный путь к файлу, который нужно перенести или переименовать и новый путь + новое имя файла, либо текущий путь + новое имя файла.

Так как в этом примере файл перемещать не требуется, то изменим лишь только имя файла.

File.Move(@"C:\ff\Текстовый документ.txt", @"C:\ff\0.txt");

3. Первый параметр у нас уже есть, он хранится в массиве files, осталось получить второй параметр.

Для начала нужно удалить старое имя файла

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

Воспользуемся методом LastIndexOf(), который в строке

C:\ff\Текстовый документ.txt

найдет индекс последнего слеша после чего, используя метод Remove, удалим всё, что идёт после него.

C:\ff\Текстовый документ.txt -> C:\ff\

После чего добавляем новое имя файла и расширение.

Читайте также:


Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices