Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Какие символы можно использовать в именах файлов ? [D7]


Страницы:   1 2

Этом ©   (2005-08-05 07:21:00) 

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


GuAV   (2005-08-06 15:38:00) [1]

Из коммандной строки можно создать файл .sdf , так что не надо, что средчтвами windows нельзя.


Anatoly Podgoretsky   (2005-08-06 15:27:00) [2]

or any character explicitly disallowed by the file system
Файловые системы в Виндоус подключаемые!!!


lookin   (2005-08-06 15:10:00) [3]

Из раздела Filename conventions из Win32 Programmer's Reference

General rules for applications creating names for directories and files or processing names supplied by the user include the following:

· Use any character in the current code page for a name, but do not use a path separator, a character in the range 0 through 31, or any character explicitly disallowed by the file system. A name can contain characters in the extended character set (128-255).
· Use the backslash (\), the forward slash (/), or both to separate components in a path. No other character is acceptable as a path separator.
· Use a period (.) as a directory component in a path to represent the current directory.
· Use two consecutive periods (..) as a directory component in a path to represent the parent of the current directory.
· Use a period (.) to separate the base filename from the extension in a directory name or filename.
· Do not use the following characters in directory names or filenames, because they are reserved for Windows:

< > : " / \ |


y-soft   (2005-08-06 13:26:00) [4]

>Anatoly Podgoretsky ©   (06.08.05 13:19) [26]

Можешь, но тут гораздо проще, доступно любому "чайнику" из командной строки :)

Непонятно, конечно, смеяться по этому поводу или горевать, но дырки существуют, и надо быть готовым с этим столкнуться...

По крайней мере статья полезна тем, что дает простой рецепт, как удалять файлы с некорректными именами, которые обычными средствами удалить затруднительно...

Многие, наверное, сталкивались с ситуацией, когда запустив самораспаковывающийся архив, с удивлением потом обнаруживали, что вложенные туда добрыми китайцами файлы с китайскими именами почему-то никак не удаляются :)


Anatoly Podgoretsky   (2005-08-06 13:19:00) [5]

y-soft ©   (06.08.05 13:14) [25]
Почему не возможно, я могу дисковым редактором указать любые символы.


y-soft   (2005-08-06 13:14:00) [6]

>Anatoly Podgoretsky ©   (06.08.05 13:11) [24]

Но ты же утверждаешь, что это невозможно?

Что делать, если Mocrosoft плохо соблюдает собственные правила...


Anatoly Podgoretsky   (2005-08-06 13:11:00) [7]

Ты думаешь я буду тратить время на разного рода хакерские штучки?


y-soft   (2005-08-06 12:44:00) [8]

>Anatoly Podgoretsky ©   (06.08.05 12:40) [21]

Такой файл создать нельзя, поскольку файловая система не позволяет дублировать имена

Ты прочитай статейку. Описываются занятные трюки, еще и не такие :)


y-soft   (2005-08-06 12:42:00) [9]

>palva ©   (06.08.05 12:38) [20]

Сообщает, но реально такого файла не существует :)

Поэтому и можно его создать (см. ссылку)


Anatoly Podgoretsky   (2005-08-06 12:40:00) [10]

y-soft ©   (06.08.05 12:29) [18]
Такой файл создать нельзя, поскольку файловая система не позволяет дублировать имена


palva   (2005-08-06 12:38:00) [11]

Файл (точка) уже есть, это текущая директория. FindFirst/FindNext об этом файле сообщает.


y-soft   (2005-08-06 12:31:00) [12]

Тьфу, очепятатался :) Следует читать:

По большому счету можно создать даже файл .(точка)


y-soft   (2005-08-06 12:29:00) [13]

>Anatoly Podgoretsky ©   (06.08.05 11:10) [9]

Например точка недопустима, попробуй создать проводнике файл .имя

По большому счету можно создать даже файл .<\code> (точка)

Только он будет невидим стандартными средствами

Вот интересные изыскания как раз на обход ограничений в именовании файлов:

http://amdf.pp.ru/fat32_ntfs_limitations.php


palva   (2005-08-06 12:21:00) [14]

Но проще, конечно, запустить FAR и снять эти вопросы.


palva   (2005-08-06 12:19:00) [15]

> Пригоден, только файл не сможешь такой создать в Виндоус.
Не знаю, для чего он пригоден. Я не могу с его помощью даже переименовать готовый файл. (Галка "не показывать расширения" снята) А создать такой файл в виндоуз можно. Можно из Notepad "сохранить как", только нужно вместо "тектовые файлы" выбрать "все файлы", чтобы блокнот не приделывал расширение .txt Командная строка тоже такие файлы берет, т. е. я могу написать
 copy con .htaccess
и ввести требуемый файл с консоли, правда русские буквы будут в кодировке DOS.


DiamondShark   (2005-08-06 11:52:00) [16]


> Пригоден, только файл не сможешь такой создать в Виндоус

"В проводнике" не значит "в виндоус".


Anatoly Podgoretsky   (2005-08-06 11:50:00) [17]

Кстати весь спич, об бессмысленности определения списка недопустимых символов.


Anatoly Podgoretsky   (2005-08-06 11:45:00) [18]

palva ©   (06.08.05 11:38) [12]
Пригоден, только файл не сможешь такой создать в Виндоус. Открыть пожалуйста.


palva   (2005-08-06 11:38:00) [19]

Не умею работать с проводником. Ну если нельзя, значит проводник не пригоден для конфигурирования Apache. Приходится работать FAR'ом. :(


Anatoly Podgoretsky   (2005-08-06 11:24:00) [20]

Я просил в проводнике, а не в фаре.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо