Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 139

Переименовать папку по примеру

01.02.2019, 12:27. Показов 2353. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пользуюсь для переименования таким методом как:

C++
1
Directory::Move("d:\\papka1\\", "d:\\papka2\\");
Как правильно записать путь, чтобы в конечной папке был указан год и число с месяцем (а точнее сегодняшняя дата, когда запускалась программа)? Примерно вот такой вариант:

d:\\papka2\\2019\\01.02\\
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.02.2019, 12:27
Ответы с готовыми решениями:

Переименовать папку
Почему нельзя назвать созданную папку именем CON, папка создется в компьютере, по не переименовывается на CON, Просто любопытно из-за чего ...

Переименовать папку con
Почему когда создаешь на Windows XP папку с именем con, то она не хочет переименовываться? Проделки Microsoft?

Переименовать папку пользователя
Доброго всем времени суток.:) Началось с того, что мне для работы (постер) понадобился эмулятор Android. Установил значит SDK, пакеты....

8
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
01.02.2019, 13:53
Лучший ответ Сообщение было отмечено disker как решение

Решение

disker,
C++
1
Directory::Move("d:\\papka1\\", String::Format("d:\\papka2\\{0:yyyy}\\{0:dd}.{0:MM}\\", DateTime::Now));
Внеклассное чтение: Custom Date and Time Format Strings, Formatting Types in .NET.
1
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 139
01.02.2019, 15:09  [ТС]
а как на другой том переместить? К примеру у меня на диске D, а мне нужно на С.. Пишет ошибку, что нельзя.

Добавлено через 1 минуту
Вот ошибка
System.IO.IOException: "Исходный и результирующий путь должны относиться к одному логическому разделу. Перемещение между томами не действует."
Добавлено через 11 минут
p.s. за внеклассное спасибо.. Ещё бы на русском то вообще бы цены не было
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
01.02.2019, 23:17
Цитата Сообщение от disker Посмотреть сообщение
а как на другой том переместить?
Вручную придется. Увы.

Цитата Сообщение от disker Посмотреть сообщение
за внеклассное спасибо.. Ещё бы на русском то вообще бы цены не было
Замени в адресе en-us на ru-ru
1
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 139
02.02.2019, 18:55  [ТС]
вручную неинтересно.. лучше уж перепишу программу, чтобы везде был один том, правда потеряю сутку, но что поделаешь.
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
02.02.2019, 19:52
disker, под "вручную" имелось в виду что самому придется написать код перемещения каталога т.к. нет готовой стандартной функции. На самом деле даже писать скорее всего не придется. Нужно поискать готовое решение просто.
1
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 139
02.02.2019, 20:08  [ТС]
А, понятно.. а я погуглил так по быстрому и везде пишут, что это на винде нельзя, поэтому так и подумал.. Спасибо придется глубже гугл анализировать ))
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18307 / 14231 / 5368
Регистрация: 17.03.2014
Сообщений: 28,904
Записей в блоге: 1
02.02.2019, 20:27
disker, возможно SHFileOperation тебя выручит. Не забудь только запретить UI если он тебе не нужен.
1
 Аватар для disker
2 / 2 / 0
Регистрация: 25.01.2012
Сообщений: 139
04.02.2019, 17:45  [ТС]
Переписал код под один том, но всеравно ошибка получается:

System.IO.IOException: "Невозможно создать файл, так как он уже существует.
"
Папки создаются, но конечные пустые. Может из-за того, что в начальных есть файлы и так нельзя переименовывать?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// создаем папку для перемещения
    
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\irshava\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\mizhhirya\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\mukachevo\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\poshtamt\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\rahiv\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\tyachiv\\", DateTime::Now));
    Directory::CreateDirectory(String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\hust\\", DateTime::Now));
 
// Перемещаем в папки
 
    
       Directory::Move("c:\\avon\\irshava\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\irshava\\", DateTime::Now));
       Directory::Move("c:\\avon\\mizhhirya\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\mizhhirya\\", DateTime::Now));
       Directory::Move("c:\\avon\\mukachevo\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\mukachevo\\", DateTime::Now));
       Directory::Move("c:\\avon\\poshtamt\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\poshtamt\\", DateTime::Now));
       Directory::Move("c:\\avon\\rahiv\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\rahiv\\", DateTime::Now));
       Directory::Move("c:\\avon\\tyachiv\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\tyachiv\\", DateTime::Now));
       Directory::Move("c:\\avon\\hust\\", String::Format("c:\\Users\\1\\Documents\\AVON\\{0:yyyy}\\{0:dd}.{0:MM}\\hust\\", DateTime::Now));
Добавлено через 2 минуты
p.s. ошибка на 15 строке (хотя я так понимаю, что по факту срабатывает на 14-й)

Добавлено через 24 минуты
В случае если не создаю папки на начальном этапе (тоесть комментирую строки 1-10 и запускаю сразу з 14 строки), то получаю ошибку
System.IO.DirectoryNotFoundException: "Не удалось найти часть пути."
замкнутый круг

Добавлено через 4 минуты
p.p.s такс мне кажется, что может быть что файлы заблокованы программой ещё после предыдущей операции сортировки и поэтому так происходит. Как их разблокировать ?

Добавлено через 16 минут
p.p.p.s. хотя нет, не из-за того, что залочены, так как создал левую папку которая не участвовала в работе и ситуация аналогичная с ошибками...

Добавлено через 5 часов 17 минут
В общем после долгого копания начинает казатсья. что проблема в том. что начальная и конечная папки имеют одинаковое имя

p.s. выяснил, что перенос работает и без предварительно го создания папки..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.02.2019, 17:45
Помогаю со студенческими работами здесь

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

Как переименовать папку?
подскажите плиз как переименовать выбранную папку, есть какой нить rename?

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

Как переименовать папку?
как переименовать папку? Visual studio 2017

Переименовать и скрыть папку, программно.
Здравствуйте. Есть курсач(к УК не имеет отношения:)), часть написана, часть до реализовать. Сама задача: файл(exe) должен скопировать...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru