Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

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

 
Этом   (2005-08-05 07:21) [0]

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


 
ЮЮ ©   (2005-08-05 07:39) [1]

По моему, существует спмсок недопустимых.
Попробуй вставить в имя один из них, например ":" и винда покажет все остальные.


 
Этом   (2005-08-06 04:06) [2]


> ЮЮ ©   (05.08.05 07:39) [1]
> По моему, существует спмсок недопустимых.
> Попробуй вставить в имя один из них, например ":" и винда
> покажет все остальные.


Пишет "Недопустимое значение символа" и всё. А вам какие именно символы показывает ?


 
kami ©   (2005-08-06 04:13) [3]

\ / : * ? " < > |


 
Джо ©   (2005-08-06 04:15) [4]

Этом   (05.08.05 07:21)
Лишняя и ненужная работа. Например "+" недопустим в 95, но допустим, например, в 98 и XP.
Проще и грамотнее сделать попытку записи с тем именем, которое ввел пользователь и, в случае неудачи, сообщить об ошибке.


 
Этом   (2005-08-06 04:42) [5]


> kami ©   (06.08.05 04:13) [3]
> \ / : * ? " < > |


Вот видите, оказывается ещё и плюса нехватает. Поэтому хотелось бы полный и точный список.


 
Джо ©   (2005-08-06 05:12) [6]


>  [5] Этом   (06.08.05 04:42)
> Вот видите, оказывается ещё и плюса нехватает. Поэтому хотелось
> бы полный и точный список.

Ты не понял. Нет такого списка, ибо зависит от файловой системы и ОС, на которой запускается программа.


 
Viktop   (2005-08-06 07:07) [7]

Проще использовать символы алфавита и цифры


 
y-soft ©   (2005-08-06 08:49) [8]

>Этом   (06.08.05 04:42) [5]

А Вы уверены, что "?" так уж и недопустим?

А конструкции вида \\?\xxxxxxx... Вам не встречались никогда?

Если Explorer не любит некоторые символы, то это совсем не значит, что они недопустимы...


 
Anatoly Podgoretsky ©   (2005-08-06 11:10) [9]

Этом   (06.08.05 04:42) [5]
Например точка недопустима, попробуй создать проводнике файл .имя


 
palva ©   (2005-08-06 11:19) [10]

Попробовал создать в FAR файл с именем ".sdf". Создается, редактируется, удаляется. А если вы устанавливали Apache под Windows, то там файл .htaccess используется для конфигурирования директории.

А вот файл пять точек "....." не создается почему-то.


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

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


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

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


 
Anatoly Podgoretsky ©   (2005-08-06 11:45) [13]

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


 
Anatoly Podgoretsky ©   (2005-08-06 11:50) [14]

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


 
DiamondShark ©   (2005-08-06 11:52) [15]


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

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


 
palva ©   (2005-08-06 12:19) [16]

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


 
palva ©   (2005-08-06 12:21) [17]

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


 
y-soft ©   (2005-08-06 12:29) [18]

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

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

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

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

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

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


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

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

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


 
palva ©   (2005-08-06 12:38) [20]

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


 
Anatoly Podgoretsky ©   (2005-08-06 12:40) [21]

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


 
y-soft ©   (2005-08-06 12:42) [22]

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

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

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


 
y-soft ©   (2005-08-06 12:44) [23]

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

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

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


 
Anatoly Podgoretsky ©   (2005-08-06 13:11) [24]

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


 
y-soft ©   (2005-08-06 13:14) [25]

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

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

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


 
Anatoly Podgoretsky ©   (2005-08-06 13:19) [26]

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


 
y-soft ©   (2005-08-06 13:26) [27]

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

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

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

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

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


 
lookin ©   (2005-08-06 15:10) [28]

Из раздела 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:

< > : " / \ |


 
Anatoly Podgoretsky ©   (2005-08-06 15:27) [29]

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


 
GuAV ©   (2005-08-06 15:38) [30]

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



Страницы: 1 вся ветка

Текущий архив: 2005.08.28;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.026 c
14-1123051609
syte_ser78
2005-08-03 10:46
2005.08.28
Глюк при запуске от имени


4-1120717532
dmitry501
2005-07-07 10:25
2005.08.28
Использование таймера в сервисе/службе


9-1112773901
rainKM
2005-04-06 11:51
2005.08.28
Random (Pascal)


1-1123270317
Muller
2005-08-05 23:31
2005.08.28
Не открывается файл Reset ом


14-1123348504
lookin
2005-08-06 21:15
2005.08.28
Подсветка элементов в Code Insight