Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
Этом   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.044 c
14-1123013751
Ego
2005-08-03 00:15
2005.08.28
Ведь что такое фантазия? Это несознательная логика, но тем не мен


1-1123149634
Alexey_T-O
2005-08-04 14:00
2005.08.28
Проблема с переменной


4-1120650731
Cosinus
2005-07-06 15:52
2005.08.28
Почему из-за нижеследующего кода в ловушке, она не работает?


14-1122782501
guestPascal
2005-07-31 08:01
2005.08.28
Украли Базу


3-1121438865
_Anton
2005-07-15 18:47
2005.08.28
ODBC и BLOB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский