Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CreateDir создал "неубиваемый" каталог / 22 сообщений из 22, страница 1 из 1
10.01.2018, 17:15
    #39581916
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateDir создал "неубиваемый" каталог
Потребовалось создать подкаталог в существующем каталоге. Написал код:
Код: 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
10.01.2018, 17:20
    #39581921
Amiri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateDir создал "неубиваемый" каталог
crossa,

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

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

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

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

скорее хорошо) от рукожопства спасает. иначе беда, беда))
...
Рейтинг: 0 / 0
10.01.2018, 17:39
    #39581944
Amiri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateDir создал "неубиваемый" каталог
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
10.01.2018, 19:48
    #39582047
crossa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CreateDir создал "неубиваемый" каталог
Откуда столько желчи? Я задал конкретный вопрос о конкретной проблеме.

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

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

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


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


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