Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Имя файла.


Гость georg

Рекомендуемые сообщения

Привет!

Иногда при скачивании чего-либо (программа, плагин...) из сети происходит следущее: когда нажимаешь кнопку Сохранить в окне, то может появиться предупреждение, что запрерщено сохранение документа с таким названием.

Это касается не только знаков препинания и символов, но и букв.

Хотелось бы знать какие правила и ограничения существуют для создания имён файлов? На чём они основаны? Для каких целей?

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

georg:

Файлам и каталогам нельзя давать такие названия (использование в качестве расширения допустимо):

LPT1 - LPT4 ; PRN ; COM1 - COM8 ; AUX ; CON ; NUL

Сии имена зарезервированы за внешними устройствами еще со времен MSDOS. Например для вывода текста на печать в среде MSDOS нужно было прописать такую команду:

copy %dir%\файл.txt prn
Ссылка на комментарий
Поделиться на другие сайты

Ндаа... не густо. :blink:

Хотелось бы больше информации. Может быть ссылочка найдётся на соответствующий материал?

Кстати, почему я спрашиваю... Намедни скачивал кое-какие файлы, вот_с_такими_названиями. Ну, промежутки между словами я, понятное дело, установил (с такой фичей знаком), а расширений подобных не было. Или даже приведённые буквосочетания в составе слов могут запрещаться?

Ссылка на комментарий
Поделиться на другие сайты

georg:

Для расширений имен файлов и папок эти сочетания допустимы, они недопустимы именно как их основные имена (без учета расширения имени, которым считается последняя часть имени, находящаяся за точкой). Как части других основных имен они разрешены. COM9 или LPT9 и вообще такого типа с любой цифрой, кстати, тоже не пройдет, хотя это нигде не написано.

Кроме этих сочетаний есть еще просто недопустимые символы. В DOS разрешалось кроме букв и цифр использовать в именах файлов только символы - _ $ # & @ ! % ( ) { } ' ` ~ ^ Длина основного имени была ограничена 8 символами, а расширения - 3. А в именах Windows можно использовать любые символы (в том числе и пробелы), кроме управляющих спецсимволов (с кодами до 31) и символов / \ : * ? " < > |

Ссылка на комментарий
Поделиться на другие сайты

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

Пока не вьехал, что за коды до 31(возможно символы на этих клавишах?), а так... на сегодня достаточно.

Thanks!

Ссылка на комментарий
Поделиться на другие сайты

Коды от 0 до 31 - это спец-символы, или эскейп-последовательности.

Называются так потому, что имеют соответствующий номер кода в таблице символов ASCII.

Например, 13-й символ - это перевод строки, 10-й - перевод каретки (возможно я перепутал местами), 27-й - это код клавиши Esc. Некоторый из этих символов могут интерпретироваться как печатные, но не всегда и не везде.

Вот некоторые из них:

7 •	8 ◘	9 ○	10 ◙   16 ►   17 ◄18 ↕   19 ‼   20 ¶   21 §   22 ▬   23 ↨24 ↑   25 ↓   26 →   27 ←   28 ∟   29 ↔30 ▲   31 ▼

Для ввода любого ASCII-символа в поле ввода используется сочетание ALT+N, где N - номер символа, вводимый с цифровой клавиатуры.

Изменено пользователем Siberex
Ссылка на комментарий
Поделиться на другие сайты

georg:

Не расширения. Сами имена. Например, файл с именем prn запрещен так же, как файл с именем prn.a5, а вот файл a5.prn - пожалуйста, поскольку расширение имени файла не играет никакой роли.

И эти имена - не команды, названия команд DOS как раз могут использоваться, например, файлы с именами dir или copy - на здоровье. В DOS с этим проблем не возникнет. А запрещены именно файлы, чьи имена совпадают с предопределенными в DOS именами устройств, например, prn - принтер, com1 - контроллер первого последовательного порта и т. д.

Кстати, в Windows 98 обычно получается много неприятностей при использовании в именах файлов букв других языков, кроме языка локализации. XP поддерживает уникод, то есть универсальный алфавит, включающий буквы всех языков, поэтому она относится к буквам из других языков намного лучше, но и в ней могут быть некоторые проблемы с записью таких имен в реестре, а установленные программы, если они не поддерживают Unicode в именах файлов, могут тоже спотыкаться на буквах других языков в этих именах. Поэтому вообще лучше использовать в именах файлов только латинские буквы, цифры и кое-какие употребительные знаки вроде обычных знаков препинания, иначе какой-нибудь Partition Magic потом такое учудит, что и сам не поймет... :(

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Спасибо большое за ответы.

Медлил, пытаясь найти те файлы, которые вызвали вопрос, но так и не удалось вспомнить и вычислить тот сайт откуда я вёл закачку. И другие случаи пока не попадаются.

Просто там было что-то неоднозначное.

Пока вопросов больше нет. Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...
Для ввода любого ASCII-символа в поле ввода используется сочетание ALT+N, где N - номер символа, вводимый с цифровой клавиатуры.

Странно, но у меня не получается. То есть, если я открыл виндосовский "Блокнот" и пытаюсь ввести, скажем, знак зарегистрированно торговой марки ®, то вообще действия не происходит! Siberex, как это понимать?

А, вообще, можно ли в названии папки использовать такой знак, чтобы он отображался не как ® , а ® ? Или это только в интернет-браузерах возможно?

Ссылка на комментарий
Поделиться на другие сайты

georg: проверь текущий системный шрифт и какой код ты вводишь не $AE те 174?

Изменено пользователем Indomito
Ссылка на комментарий
Поделиться на другие сайты

georg:

Для ввода ® надо при нажатой клавише Alt набрать на цифровой клавиатуре код 0174 (цифровая клавиатура может быть в обычном режиме управления курсором), после чего отпустить Alt. Этот знак можно использовать и в именах папок и файлов Windows XP, он не относится к числу запрещенных.

Какой код надо набирать для какого символа, можно посмотреть с помощью программы Таблица символов (вызывается из меню Windows), если кликнуть в этой таблице на символе, то для многих символов, которых нет на клавиатуре, например, для ®, справа внизу таблицы высвечивается код для этого символа. Можно также скопировать символ прямо из этой таблицы через буфер обмена.

Существуют и нечетырехзначные коды, которые отличаются от четырехзначных, например, коды 174 и 0174 обозначают разные символы. Нечетырехзначные коды в таблице не показываются.

А для таких программ, как Word, есть и собственные дополнительные варианты ввода символов нажатием комбинаций клавиш, например, ® в Word можно ввести как Ctrl+Alt+R.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...