Показать полную графическую версию : [решено] Переименование файлов. форматы *.*, name.*, *.txt и тд
Каким образом возможно переименование файлов с сохранением расширения или частичное переименование?
Пример:
vsyakaychush.e03 в myfile.x03
то есть *.е* или *.а* в myfile.x*
Для переименования пытался использовать:
DirectoryInfo DI = new DirectoryInfo("D:\\1\\");
foreach (FileInfo FI in DI.GetFiles("*.e0*")) //Перебираем только .e0*
{
//Получаем список всех .e0* архивов(FI.FullName) и делаем с ними что нить!
FileInfo info = new FileInfo(FI.FullName);
FI.MoveTo ("D:\\1\\myfile.x0*");//переименование в myfile.x0*... только знак * не проходит
}
Что то не совсем понятно! тебе к предыдущему расширению нужно спереди прибавить символ?
по твоей схеме :
то есть *.* в myfile.x* »
должно получится что то типа : vsyakaychush.e03 в myfile.xe03
И как вообще куча файлов с одним именем?оО Объясни пожалуйста, что конкретнее надо!
Решил проблему таким образом:private void chnam_Click(object sender, EventArgs e)
{
DirectoryInfo DI = new DirectoryInfo("D:\\1\\");
foreach (FileInfo FI in DI.GetFiles("*.e0*")) //Перебираем только .e0*
{
//Получаем список всех .eo* архивов(FI.FullName) и делаем с ними что нить!
FileInfo info = new FileInfo(FI.FullName);
string name = FI.Name;
MessageBox.Show(FI.Name);
string result = name.Substring(name.IndexOf(".", 0));//чтение от точки, то есть только расширение
MessageBox.Show(result);
string str = "D:\\1\\myfile" + result;
MessageBox.Show(str);
File.Move(FI.FullName, str);
}
}
Решение, конечно, не очень. Может есть способы попроще?
Нужно оставить от расширения последние две цифры.
можно вопрос а зачем?... может есть более толерантный способ решить твою задачу...
то что ты пытаешься сделать м-м-м-м-м как бы тебе сказать... :clever-ma
string result = name.Substring(name.IndexOf(".", 0)); »,
Все бы хорошо, но вот если имя файла будет иметь вид что то вроде : 123.456.txt, метод IndexOf ищет первое вхождение символа в строке! и получится что ты считаешь не только расширение!
Делай так :
string result = FI.Extension; //Вернет расширение файла!
RUVATA, я вот и спрашиваю - каким способом это можно сделать. учу С# ЦЕЛЫХ 8 Дней
Файлы как раз только с одной точкой... по крайней мере пока, но способ хотелось бы найти заранее
Файлы как раз только с одной точкой... по крайней мере пока, но способ хотелось бы найти заранее »
Способ выше :) :) :) Вроде должен подойти :)
Хм, а ларчик просто открывался :) , осталось только извлечь две цифры из расширения.
LilLoco, предлогает самый верный способ
string result = FI.Extension; »
в твоем случае...
А мой вопрос заключался в следующем;
Зачем вообще менять расширения файлам? какая такая нужда заставляет?
опиши логику программы...
осталось только извлечь две цифры из расширения. »
Омг, какие то ищо цифры в расширении :) Может быть символы? если символы то метод String.Substring(int,int) - Извлекает подстроку из строки!Ну а в зависимости 2 сначала или с конца, меняй параметры метода!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.