powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CreateDir создал "неубиваемый" каталог
22 сообщений из 22, страница 1 из 1
CreateDir создал "неубиваемый" каталог
    #39581916
crossa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Потребовалось создать подкаталог в существующем каталоге. Написал код:
Код: pascal
1.
2.
3.
4.
5.
var sDir: String;

sDir := 'C:\Temp\Document1 '; // на конце пробел!
if sDir[Length(sDir)] <> '\' then sDir := sDir + '\';
CreateDir(sDir);


Подкаталог был создан, но оказалось, что его нельзя удалить. При попытке удаления папки со всем содержимым Windows Explorer выдает сообщение "Не удается удалить файл. Не удается произвести чтение из файла или с диска." Папку удалось удалить при помощи одного из файловых менеджеров (полностью удалить, а не отправить в "Корзину").

Дело именно в пробеле на конце имени подкаталога. Я могу, конечно, убирать все пробелы в конце имени папки перед ее созданием, но хотелось бы понять, почему именно возникает такая проблема.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581921
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossa,

Вы пытаетесь обмануть систему, а она пытается обмануть вас :)
скорее всего при создании этой директории "пробел" трактуется как какой-либо спец символ(ax,0920h ) или табуляция.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581923
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossaхотелось бы понять, почему именно возникает такая проблема.

Очевидно, баг в Windows Explorer.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581929
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для примера создайте ручками папку с пробелом на конце :)
у вас это не получитсЯ)))
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581932
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossa...Я могу, конечно, убирать все пробелы в конце имени папки перед ее созданием, но хотелось бы понять, почему именно возникает такая проблема.
Ты обнаружил "странное поведение" в WindowExplorer, но ищешь правды в форуме Delphi - это нормально?
И что даст тебе "понимание"? Ты будешь и дальше создавать каталоги с хвостовыми пробелами, но с умом?
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581933
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД,

Молодой подаван истину постигать решил наверное наверное. :) вот и скучно ему.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581935
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cmd.exe -> md "\\?\c:\123 "
а потом удаляйте в проводнике))
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581936
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossa,

ок коли ты начал)) создай папку "con" ?
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581937
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57,
не мышкой ))
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581938
Barmaley57
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дык windows explorer до сих пор не умеет работать с длинными именами файлов. Хорошо это или плохо - даже не знаю)
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581941
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Barmaley57,

скорее хорошо) от рукожопства спасает. иначе беда, беда))
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39581944
Amiri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossaПотребовалось создать подкаталог в существующем каталоге. Написал код:
Код: pascal
1.
2.
3.
4.
5.
var sDir: String;

sDir := 'C:\Temp\Document1 '; // на конце пробел!
if sDir[Length(sDir)] <> '\' then sDir := sDir + '\';
CreateDir(sDir);


Подкаталог был создан, но оказалось, что его нельзя удалить. При попытке удаления папки со всем содержимым Windows Explorer выдает сообщение "Не удается удалить файл. Не удается произвести чтение из файла или с диска." Папку удалось удалить при помощи одного из файловых менеджеров (полностью удалить, а не отправить в "Корзину").

Дело именно в пробеле на конце имени подкаталога. Я могу, конечно, убирать все пробелы в конце имени папки перед ее созданием, но хотелось бы понять, почему именно возникает такая проблема.

ну дык как там???
sDir := 'C:\Temp\con
осилишь?
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582047
crossa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Откуда столько желчи? Я задал конкретный вопрос о конкретной проблеме.

Папку с пробелом на конце создаю не я лично: в моем программном продукте пользователи могут задавать имя каталога, вот и нашелся один пользователь, который случайно ввел имя каталога с пробелом на конце. Я никогда раньше не слышал об этой проблеме; решил, что это какая-то ошибка в работе CreateDir. Теперь понял, что это проблема операционной системы.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582111
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Была та же самая проблема, решение было - переименовать каталог.

И сразу удалось удалить его.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582113
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crossa...Теперь понял, что это проблема операционной системы.
Ну конечно, ты все понял.
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582123
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovcrossaхотелось бы понять, почему именно возникает такая проблема.

Очевидно, баг в Windows Explorer.и он есть даже в самой последней 10-ке
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582125
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...вспомнился api одной древней BDOS, в нем вполне себе можно было создавать и файлы с одинаковыми именами. :)
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582178
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччД...вспомнился api одной древней BDOS, в нем вполне себе можно было создавать и файлы с одинаковыми именами. :)


Можешь распаковать куда нибудь на диски, и удивится. Только не распаковывай на рабочий стол. Он будет умирать каждый раз
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582179
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин. После запаковки в архив, это не канает. Давно ещё читал, как можно сделать рекурсию, и если войти в папку содержащую папку, то будет падать explorer
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582181
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такие трюки вообще волшебные
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582182
Няшик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После распаковки работает. Папка становится недоступной в проводнике
...
Рейтинг: 0 / 0
CreateDir создал "неубиваемый" каталог
    #39582184
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НяШарик ты балбес!...
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CreateDir создал "неубиваемый" каталог
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]