Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 4
Регистрация: 06.06.2014
Сообщений: 81
1

Создание папки по части имени файла

30.10.2017, 16:36. Показов 2588. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите сделать форму. Должно получиться: Выбираем файл (в моем случае это .pdf), название отображается в textbox, выбираем место сохранение и что бы там создавалась папочка с названием этого файла.(Вот пример названия документа: 2.70.1.001.0451.6.20.8.л04.рев0 только, что бы из названия убиралась ревизия"рев0" и лист"л04".)
Пока, что получилось так.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
 
namespace PapFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            this.MaximumSize = new System.Drawing.Size(410, 250); 
            this.MinimumSize = new System.Drawing.Size(410, 250); 
        }
 
        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog openFileDialog1 = new OpenFileDialog();
            openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.Filter = "PDF |*.pdf";
            openFileDialog1.RestoreDirectory = true;
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog1.FileName;
            }
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
        private void textBox2_TextChanged(object sender, EventArgs e)
        {
 
        }
        private void button3_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("Укажите исходную директорию");
                return;
            }
            else
            {
                if (!Directory.Exists(textBox1.Text))
                {
                    MessageBox.Show("Такая директория не существует");
                    return;
                }
            }
        }
        private void button2_Click(object sender, EventArgs e)
        {
 
        }
        private void textBox2_TextChanged_1(object sender, EventArgs e)
        {
 
        }
    }
}
Я не понимаю как сделать, что бы создавалась папочка по названию документа с удалением ревизии и листа. Подскажите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2017, 16:36
Ответы с готовыми решениями:

Распределение файлов из папки по части имени файла в папки, содержащие файлы с похожим именем (квитовка)
Добрый день! Искал по форуму, но мне не удалось найти похожее решение. К примеру имеется...

Создание папки по имени файла и перемещение файла в эту папку
Добрый день , Помогите пожалуйста с батником. У меня есть целая куча файлов в одной папке,...

Синтаксическая ошибка в имени файла, имени папки или метке тома
Здравствуйте. Выполняю лаб. работу в cmd, в которой есть задание связанные с командой "Copy"....

Поиск папки по части имени, эксперимент на скорость
Если, например, проводить поиск папок по имени и при этом (назовем те что ищем нужными и те что не...

5
Администратор
Эксперт .NET
17022 / 13374 / 5218
Регистрация: 17.03.2014
Сообщений: 27,351
Записей в блоге: 1
30.10.2017, 19:41 2
Furianec,
C#
1
2
3
4
5
6
7
8
9
// Удаление "лишнего" из имени файла
string fullName = @"c:\folder\2.70.1.001.0451.6.20.8.л04.рев0.pdf";
string name = Path.GetFileNameWithoutExtension(fullName);
name = Regex.Replace(name, @"\.(л|рев)\d+", "");
 
// Создание папки
string root = @"d:\someFolder";
string newDir = Path.Combine(root, name);
Directory.CreateDirectory(newDir);
Под свой код подстрой самостоятельно.
0
0 / 0 / 4
Регистрация: 06.06.2014
Сообщений: 81
31.10.2017, 09:25  [ТС] 3
Цитата Сообщение от OwenGlendower Посмотреть сообщение
name = Regex.Replace(name, @"\.(л|рев)\d+", "");
Что-то я не понял эту строчку. В частности Regex.Replace нет у меня.
0
Администратор
Эксперт .NET
17022 / 13374 / 5218
Регистрация: 17.03.2014
Сообщений: 27,351
Записей в блоге: 1
31.10.2017, 13:16 4
Furianec, эта строка удаляет из имени ревизия"рев0" и лист"л04". По поводу отсутствия Regex.Replace - добавь using System.Text.RegularExpressions;
0
0 / 0 / 4
Регистрация: 06.06.2014
Сообщений: 81
31.10.2017, 16:18  [ТС] 5
Цитата Сообщение от OwenGlendower Посмотреть сообщение
эта строка удаляет из имени ревизия"рев0" и лист"л04". По поводу отсутствия Regex.Replace - добавь using System.Text.RegularExpressions;
У меня почему-то создается, только сама директория(c:\someFolder), а сама папка с названием файла не создается.
C#
1
2
3
4
5
6
string fullName = textBox1.Text;
            string name = Path.GetFileNameWithoutExtension(fullName);
            name = Regex.Replace(name, @"\.(л|рев)\d+", "");
            string root = @"c:\someFolder";
            string newDir = Path.Combine(root,  name);
            Directory.CreateDirectory(newDir);
0
Администратор
Эксперт .NET
17022 / 13374 / 5218
Регистрация: 17.03.2014
Сообщений: 27,351
Записей в блоге: 1
31.10.2017, 16:21 6
Furianec, программа делает то что написал программист, а не то что он хотел бы от неё. Разберись что именно делает каждая строка и исправь код так как необходимо.
0
31.10.2017, 16:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2017, 16:21
Помогаю со студенческими работами здесь

[WinError 123] Синтаксическая ошибка в имени файла, имени папки или метке тома: '<frozen importlib._bootstrap>'
Начал изучать Django и вот моя первая проблема,гуглил как мог не нашел ничего,помогите пожалуйста!!!

Соответствие имени файла к имени папки
Имеется программа для проверки соответствия имени файла к имени папки. Но код ниже не выводит...

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

Получение определённой части имени папки и сохранение полученной строки в файле и в переменной
Добрый день. Прошу помощи. Есть папка с именем abcd_1234_asda . Требуется &quot;вычленить&quot; из имени...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru