- Информация о материале:
- Опубликовано: 2013-01-06
- Обновлено: 2019-12-02
- Автор: АдМинь БагоИскатель
Например нельзя создать каталог с именем con и не потому что так в детстве дразнили дядюшку Билла (якобы ботан), а потому, что это имя зарезервировано для сокращённого обозначения консоли — console
В современном с ума сошедшем мире всё перевернулось с ног на голову нетбуки стали называть ноутбуками, каталоги именуют нынче папками (разделы наверно мамками:), вместо Ё пишут Е и пашло поехало
Согласно Обзор файловых систем FAT, HPFS и NTFS в системе Windows нельзя обычным образом создать файлы и каталоги с именами:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Также в именах для файлов и каталогов нельзя использовать символы:
- для файловой системы FAT: . » / [ ] : ; | = ,
- для файловой системы NTFS: ? » / < > * | :
На самом деле файлы и каталоги с запрещёнными (зарезервированными) именами создать можно, если очень хочется:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Но не нужно этого делать по той причине, что могут возникнуть конфликты при работе различных устройств! Например, мы создали каталог с именем LPT1 или COM3, потом хорошо выпили и набрали команду copy file.txt COM3 или copy con LPT1 — внимание, вопрос: куда система должна выполнить копирование, в каталог или в порт COM3/LPT1?:)
Так что невозможность создания, обычным образом, файлов и каталогов с зарезервированными системными (досовскими) именами — это не баг и не страх Билла Гейтса, а баг скорее всего возможность создать такие файлы и каталоги через консоль md "\.C:con"!
Лучше не пытаться свернуть мозги системе, а то гляди может и получиться. Всех с новым годом, желаю всем в новом году счастья, здоровья и всяческих баг, тьфу ты.., т.е. благ!;))
Ссылки по теме:
- Обзор файловых систем FAT, HPFS и NTFS
- Ограничения именования в Team Foundation
Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.
Понятия «путь» и «имя файла»
Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако Microsoft и другие считают, что в путь к файлу входит не только его расположение но и само имя файла. А некоторые подразумевают под словом «путь» только имена файла и папок, в которых он расположен, без указания диска. Некоторые пользователи полагают, что «имя файла» не включает расширение. В данной статье расширение всегда является частью имени файла. На примере ниже синим цветом выделен путь к файлу, а красным имя файла.
X:папкаподпапкафайл.расширение
Зарезервированные символы и имена
Большинство часто употребляемых символов разрешается использовать в имени файла. Имя файла не должно содержать „<” (знак меньше), „>” (знак больше), „:” (двоеточие), „«” (двойные кавычки), „/” (слеш), „” (обратный слеш), „|” (вертикальная черта), „?” (вопросительный знак), „*” (звездочка), а также не может заканчиваться точкой или пробелом. Файлы также нельзя называть зарезервированными именами устройств: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT9.
Ограничения на длины имен файлов и путей
Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.
На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.
Имена файлов и их расширения
Введение
Имя файла состоит из двух частей: собственно имени и его расширения. Друг от друга они отделяются точкой. Расширение облегчает работу
операционной системе, явно указывая на то, что должно содержаться в файле.
Вместе с тем, это таит в себе определенную опасность: если случайно или намеренно изменить имя файла, станет неочевидно, с помощью какой программы его открывать.
Для символов, используемых для названия файлов, существует целый ряд ограничений.
- Для имен файлов нельзя использовать
- Прямую и обратную косую черту «/» и «».
- Зарезервированные символы «:», «*», «?» и «|».
- Кавычки любого вида.
- Знаки больше и меньше.
- Большинство знаков, которые можно набрать только при помощи Alt+код.
Имена файлов с датами
Так или иначе, искушенный пользователь когда-нибудь сталкивается с необходимостью включить в имя файла дату, чтобы сразу открыть, например файл с данными, относящимися к определенному дню. Кстати, это может быть не файл, а папка, но сути это не изменит.
В чем подвох? Для обсуждения сразу оговоримся, что в объяснении (как и в личном опыте) я не буду использовать разделителя. Мне это просто не нужно, а удлинение имени даже на два символа достаточно затрудняет работу.
Маски в именах файлов
Для некоторых видов работ с файлами (групповых операций или поиска) используется маска, содержащая символы подстановки «*» и «?».
Символ «?» в маске означает, что вместо него должен стоять любой символ.
Символ «*» в маске означает, что вместо него может быть подставлено любое сочетание символов. То есть их может не быть совсем, либо быть несколько (1, 2, 3 и т.д.).
Для ясности разберем несколько примеров.
Во многих случаях маской по умолчанию является вариант «*.*».
В этом случае и имя файла и его расширение может принимать любые значения, а действие команды с такой маской распространяется на все файлы без исключения.
Маска «*.?*» очень похожа на предыдущую, но означает, что расширение должно содержать хотя бы одну букву.
Иначе говоря, файлы (и/или папки), не имеющие расширения, будут проигнорированы.
Маска «*.doc» относится к файлам с расширением «doc», то есть документам Word версии 2003 и ранее.
Маска «*.doc?» найдет документы Word 2007.
Маска «*.doc*» найдет документы любой версии Word: с трех- и четырехбуквенным расширением, начинающимся с «doc».
Маска «*.??» обнаружит только файлы, имеющие расширение ровно в две буквы.
Маска «???.*» выделит все файлы с трехбуквенными именами.
Маска «mark*.doc*» найдет файлы любой версии Word, начинающиеся с «mark».
Ограничения в некоторых особых случаях
MS-DOS (FAT16). Имя файла составляется по правилу 8+3 (ISO 9660): имя не может превышать восьми символов, а расширение — трех. Для имен файлов крайне нежелательно использовать кирилические буквы, так как множество вспомогательных программ для работы с файловой системой их просто не понимает. Впрочем это касается всех нелокализованных операционных систем.
Точка может использоваться только для отделения имени от расширения, в связи с чем ее никак нельзя вставить в имя второй раз. Запрещено использование пробела.
Число вложений папок не может превышать восьми.
Windows (VFAT, FAT32, NTFS). Файл может иметь имя длиной до 255 символов.
Теоретически сюда включается и длина пути, но максимальная его длина может достигать 32767 символов (32 кб или 215).
Число вложений папок не может превышать 128.
CD. Наиболее распространенными форматами, описывающими метод хранения файлов на CD,
являются расширенный ISO 9660 (длина до 31 символа) и Microsoft Joliet Extension к ISO9660 (до 34 символов).
Unix (NFS, Network File System) Принципиальное значение имеет регистр символов. «xx.txt» и «xX.txt» — два совершенно разных имени, и в одной папке могут находиться оба этих файла.
Это может несколько сбить с толку пользователей Windows.
Имя отдельного каталога не должно превышать 255 символов и начинаться с буквы либо с символа подчеркивания и состоять из букв, цифр, (_.,), но не содержать пробелов.
Расширение совершенно не является необходимым.
Абсолютный путь к файлу (вместе с его именем) не должен превышать 1023 символа.
Достаточно сложно дать однозначную оценку использованию национальных алфавитов для названий файлов. В целом можно говорить о недопустимости их использования.
Это связано с тем, что такие ситуации неизвестны большинству утилит восстановления файловой системы.
Во избежание проблем рекомендуется использовать транслитерацию.
В операционных системах предыдущего поколения (например DOS), расширение не могло превышать трех символов.
В настоящее время таких ограничений нет.
Более того, для некоторых случаев предпочтительным является использование четырехсимвольных вариантов (jpeg, html).
На самом же деле расширение может состоять из двух (.ps) или даже одного символа (.h).
Некоторые операционные системы (Unix, MacOS) могут вообще обходиться без расширения за счет того, что при открытии файла считывается его заголовок.
Форматы и расширения
Исполняемые (исполнимые) файлы
Расширение | Пояснения |
.exe | От англ. executable — исполняемый |
.com | От англ. command — командный |
.cmd | — |
.bat | От англ. batch — пакетный файл |
.vbs | От англ. Visual Basic Script |
.msi | От англ. MicroSoft Installer |
Текстовые форматы
Расширение | Пояснения |
.txt | Простой текстовый документ, чаще всего в 8-разрядной кодировке ANSI или ASCII |
.doc | Как правило, файлы в формате Microsoft Word |
.dot | Шаблон Microsoft Word |
.docx | Microsoft Word2007 |
.docm | Microsoft Word2007 с включенными макросами |
.odt | Open Document Text, соответствует ГОСТ Р ИСО/МЭК 26300-2010 |
.rtf | Microsoft Reach Text Format. Теговый язык форматирования текста, являющийся универсальным способом для переноса текстовой информации из одной программ в другую |
.wp | WordPerfect |
.wps | Works |
.fb2 | FictionBook. Формат для чтения книг с экрана, в том числе КПК |
Графические форматы
Расширение | Пояснения |
Растровые | |
.ani | Animated Cursor |
.bmp | BitMaP. Формат, фактически пригодный только для просмотра на экране с локального ресурса |
.cur | Cursor |
.dib | Device Independent Bitmap |
.gif, .gfa | Graphics Interchange Format |
.ico | Icon (пиктограмма) |
.img | &Digital Research GEM Bitmap |
.jpg, .jpeg, .jpe, .jfif | Joint Picture Motion Group (JPEG File Interchange Format) |
.png | Portable Networks Graphics |
.pcd | Photo CD |
.pcx | Z-Soft PaintBrush |
.tga | TrueVision Targa |
.tif, .tiff | Toggle Immage File Format |
Векторные | |
.cgm | Computer Graphics Metafile |
.emf | Windows Enhanced Metafile |
.emz .wmz | Сжатые расширенный (Enhanced) и обычный Windows Metafile |
.dxf | Drawing Interchange Format |
.eps | Encapsulate PostScript (данный формат имеет растровую версию!) |
.gem | |
.ps | Файл на языке PostScript, служащем для управления специальными устройствами вывода. Является ключевым для полиграфического воспроизводства документов. Фактически может совмещать текст и графику любого вида |
.vsd | Microsoft Visio |
.wmf | Формат Windows MetaFile, используемый ОС Windows для переноса векторных изображений через буфер памяти |
.wpg | Word Perfect Graphic |
.hpg, .hpgl | Векторная графика на языке HPGL для графопостроителя (Hewlett-Packard Graphic Language) |
Программные | |
.ai | Adobe Illustrator |
.ccx | Corel Binary Meta File |
.cdr | Corel Draw |
.psd, .pdd | Adobe Photoshop |
Базы данных (БД)
Расширение | Пояснения |
.cdx | Комплексный индекс |
.idx | Индивидуальный индекс |
.db | БД Paragox |
.dbc | БД FoxPro |
.dbt | Файл примечаний |
.dbf | Таблицы БД dBase, FoxBase, FoxPro |
.mdb | БД Access |
.tbk | Резервная копия файла примечаний |
Архивы
Всего существует свыше 100 расширений имен файлов архивов.
Здесь приведены наиболее важные.
Расширение | Пояснения |
.arj | Архив, подготовленный программой WinArj или Arj для DOS |
.cab | Упакованные файлы дистрибутивного комплекта |
.ice | Архив ICE |
.jar | Архив Jar |
.lzh, .lha | Архив бесплатной программы LHA |
.pac | Чаще всего — дистрибутив |
.7z | Архив, подготовленный программой 7zip (7-Zip). Один из лучших современных архиваторов с отвратительным интерфейсом. Зато бесплатный. |
.rar | Архив, подготовленный программой Rar или WinRar. Практически, во многих случаях достигается наибольший коэффициент сжатия, по сравнению с другими форматами. Программы бесплатны для жителей территорий бывшего СССР. |
.zip | Архив, подготовленный программой WinZip или Zip для DOS. В последнем случае для запаковки используется программа pkzip, а для распаковки — pkUNzip. Формат для DOS является абсолютным стандартом архивов в Интернете, благодаря тому, что может быть открыт практически любой программой. |
.zoo | Архив ZOO |
Электронные таблицы
Расширение | Пояснения |
.xls, .xlsx | Таблица Excel |
.xlk | Резервная копия таблицы Excel |
.xlt | Шаблон Excel |
.wk1, .wk3, .wk4, .wks | Разные версии Lotus 1-2-3 |
.wq1 | Quattro Pro |
Звуковые файлы
Расширение | Пояснения |
.mp3 | |
.wav |
Видеофайлы
Расширение | Пояснения |
.avi | |
.flv | Flash Video |
.mpg, .mpeg | |
.mp4 |
Специальные файлы в среде Windows и др.
Расширение | Пояснения |
.tmp, .temp | Временный файл |
.ini | Файл настроек программы или ОС |
.bak | Резервная копия документа в большинстве программ |
.wbk | Резервная копия документа в MS Word |
.reg |
Языки программирования
Расширение | Пояснения |
.c | Программа на языке C |
.vb | Программа на языке Visual Basic |
.vbs | Программа на языке Visual Basic Script |
.js | Программа на языке Java Script |
.h | Файл вставок (заголовков, header) на языке Cи |
Web-страницы и т.п.
Расширение | Пояснения |
.htm, .html | Гипертекстовый документ (Hypertext Markup Language, HTML) |
.mht | Mime HTML |
.xml | |
.php | Php: Hypertext Preprocessor. Язык, интерпретируемый сервером |
.asp | Active Server Pages. Язык, интерпретируемый сервером |
См. также Резервное копирование.
Under Linux and other Unix-related systems, there were traditionally only two characters that could not appear in the name of a file or directory, and those are NUL ''
and slash '/'
. The slash, of course, can appear in a pathname, separating directory components.
Rumour1 has it that Steven Bourne (of ‘shell’ fame) had a directory containing 254 files, one for every single letter (character code) that can appear in a file name (excluding /
, ''
; the name .
was the current directory, of course). It was used to test the Bourne shell and routinely wrought havoc on unwary programs such as backup programs.
Other people have covered the rules for Windows filenames, with links to Microsoft and Wikipedia on the topic.
Note that MacOS X has a case-insensitive file system. Current versions of it appear to allow colon :
in file names, though historically that was not necessarily always the case:
$ echo a:b > a:b
$ ls -l a:b
-rw-r--r-- 1 jonathanleffler staff 4 Nov 12 07:38 a:b
$
However, at least with macOS Big Sur 11.7, the file system does not allow file names that are not valid UTF-8 strings. That means the file name cannot consist of the bytes that are always invalid in UTF-8 (0xC0, 0xC1, 0xF5-0xFF), and you can’t use the continuation bytes 0x80..0xBF as the only byte in a file name. The error given is 92 Illegal byte sequence.
POSIX defines a Portable Filename Character Set consisting of:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
Sticking with names formed solely from those characters avoids most of the problems, though Windows still adds some complications.
1 It was Kernighan & Pike in [‘The Practice of Programming’](http://www.cs.princeton.edu/~bwk/tpop.webpage/) who said as much in Chapter 6, Testing, §6.5 Stress Tests:
When Steve Bourne was writing his Unix shell (which came to be known as the Bourne shell), he made a directory of 254 files with one-character names, one for each byte value except
''
and slash, the two characters that cannot appear in Unix file names. He used that directory for all manner of tests of pattern-matching and tokenization. (The test directory was of course created by a program.) For years afterwards, that directory was the bane of file-tree-walking programs; it tested them to destruction.
Note that the directory must have contained entries .
and ..
, so it was arguably 253 files (and 2 directories), or 255 name entries, rather than 254 files. This doesn’t affect the effectiveness of the anecdote, or the careful testing it describes.
TPOP was previously at
http://plan9.bell-labs.com/cm/cs/tpop and
http://cm.bell-labs.com/cm/cs/tpop but both are now (2021-11-12) broken.
See also Wikipedia on TPOP.
Under Linux and other Unix-related systems, there were traditionally only two characters that could not appear in the name of a file or directory, and those are NUL ''
and slash '/'
. The slash, of course, can appear in a pathname, separating directory components.
Rumour1 has it that Steven Bourne (of ‘shell’ fame) had a directory containing 254 files, one for every single letter (character code) that can appear in a file name (excluding /
, ''
; the name .
was the current directory, of course). It was used to test the Bourne shell and routinely wrought havoc on unwary programs such as backup programs.
Other people have covered the rules for Windows filenames, with links to Microsoft and Wikipedia on the topic.
Note that MacOS X has a case-insensitive file system. Current versions of it appear to allow colon :
in file names, though historically that was not necessarily always the case:
$ echo a:b > a:b
$ ls -l a:b
-rw-r--r-- 1 jonathanleffler staff 4 Nov 12 07:38 a:b
$
However, at least with macOS Big Sur 11.7, the file system does not allow file names that are not valid UTF-8 strings. That means the file name cannot consist of the bytes that are always invalid in UTF-8 (0xC0, 0xC1, 0xF5-0xFF), and you can’t use the continuation bytes 0x80..0xBF as the only byte in a file name. The error given is 92 Illegal byte sequence.
POSIX defines a Portable Filename Character Set consisting of:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
Sticking with names formed solely from those characters avoids most of the problems, though Windows still adds some complications.
1 It was Kernighan & Pike in [‘The Practice of Programming’](http://www.cs.princeton.edu/~bwk/tpop.webpage/) who said as much in Chapter 6, Testing, §6.5 Stress Tests:
When Steve Bourne was writing his Unix shell (which came to be known as the Bourne shell), he made a directory of 254 files with one-character names, one for each byte value except
''
and slash, the two characters that cannot appear in Unix file names. He used that directory for all manner of tests of pattern-matching and tokenization. (The test directory was of course created by a program.) For years afterwards, that directory was the bane of file-tree-walking programs; it tested them to destruction.
Note that the directory must have contained entries .
and ..
, so it was arguably 253 files (and 2 directories), or 255 name entries, rather than 254 files. This doesn’t affect the effectiveness of the anecdote, or the careful testing it describes.
TPOP was previously at
http://plan9.bell-labs.com/cm/cs/tpop and
http://cm.bell-labs.com/cm/cs/tpop but both are now (2021-11-12) broken.
See also Wikipedia on TPOP.
При работе в операционной системе Windows Vista в аналогичных случаях появляется диалоговое окно Переименование с сообщением «Указано неверное имя устройства».
Запрещенные имена
Если вы попытаетесь создать файлы или папки со следующими именами: con, nul, prn, AUX, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 (регистр букв — прописные буквы или строчные — значения не имеет), — система в таких случаях вместо введенного вами «запрещенного» имени выведет имя по умолчанию, например, Новая папка, или Текстовый документ, или Документ Microsoft Word. При этом Windows Vista выведет окно Переименование с сообщением «Указано неверное имя устройства».
Дело в том, что по «Соглашению об именованиях» эти символы и имена зарезервированы файловой системой для «внутренних» системных нужд, применять их пользователю запрещено.
Примечание. Применять для файлов и папок имена COM, COM10, COM11…, LPT, LPT10, LPT11… системой не возбраняется.
Имена файлов в FAT
В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже:
. «/ [ ]:; | = ,
Использование этих символов может привести к получению неожиданных результатов. Имя не должно содержать пробелов.
Соглашения именования в NTFS
Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением указанных ниже:
? «/ ≤> * | :
В настоящее время из командной строки можно задать имя файла длиной не более 253 символов.
Можно ли обойти запреты файловой системы
Можно создать папки с зарезервированными именами с помощью Интерпретатора команд Windows, например:
— нажмите Пуск → Выполнить… → Запуск программы → cmd → OK;
— в открывшемся окне Интерпретатора команд после приглашения системы введите mkdir .com1 (Enter).
Будет создан каталог с именем com1.
Удалить его обычным путем вы не сможете: появится окно Ошибка при удалении файла или папки с сообщением Не удается удалить com1. Нет доступа. Диск может быть переполнен или защищен от записи, либо файл занят другим приложением или Н е удается удалить com1. Не удается найти файл. Проверьте правильность указания пути и имени файла.
Для удаления каталога com1 нужно ввести команду rmdir .com1 (Enter).
Системные папки
Также Windows не позволит переименовать или переместить системные папки, такие как «Documents and Settings» (в Vista — «Пользователи»), «Windows», «System32», «Program Files». Они необходимы для нормальной работы Windows (если каким-либо образом — не в среде Windows — их переименовать/переместить, то вы не сможете загрузить операционную систему).
Компьютер работает с информацией, которая может быть текстовой, графической, в аудио или видео формате. Вся информация, обрабатываемая на компьютере, хранится в файлах. Например, файл — это фото, картинка, ролик, документ, презентация, программа и так далее.
Понятие файла является одним из базовых понятий компьютерной грамотности.
Файл – это поименованная область памяти на компьютерном носителе.
Другими словами, файлом называется набор данных на компьютерном носителе (жёсткий диск, флешка, карта памяти в смартфоне, CD и DVD диск и т.п.), у которого есть свое имя (имя файла).
Имя файла
Какие можно использовать символы в имени файла? В именах файлов рекомендуется использовать русские и латинские буквы, цифры, пробелы и знаки препинания.
Однако имя файла не следует начинать с точки, а также использовать в имени квадратные [ ] или фигурные { } скобки. Недопустимыми для имен файлов являются следующие служебные символы / | : * ? “ < >
Существует ли максимальная длина имени файла? Длина имени файла не должна превышать 255 символов. На самом деле, обычно хватает 20-25 символов.
Операционная система Windows не делает различий между строчными и прописными буквами для имен файлов. Это означает, что не получится хранить в одной и той же папке файлы, имена которых различаются только регистром. Например, два имени файла «Название.doc» и «НАЗВАНИЕ.doc» для Windows будет одним именем для одного и того же файла.
Что такое тип файла или формат файла
Как Вы считаете, могут ли быть в одной папке несколько файлов с одинаковым именем PRIMER? Это возможно при условии, что у имени PRIMER будут разные расширения.
Расширение имени файла указывает на его тип (иногда еще говорят — формат файла). Таким образом,
- «тип файла»,
- «формат файла»,
- «расширение файла»,
- «расширение имени файла»
— все эти понятия, по сути, одно и то же.
Например,
PRIMER.doc(x) – типом файла является документ Word (или файл в формате Ворда),
PRIMER.bmp – типом файла является рисунок,
PRIMER.avi – типом файла является видеофайл,
PRIMER.wav – типом файла является аудиофайл.
Все эти файлы имеют разные имена (за счет разных расширений имени файла) и могут храниться в одном и том же месте, т.е. в одной папке.
Если проводить аналогию с именами людей, то имя файла совпадает с именем человека, а расширение имени файла – с фамилией человека. Соответственно, PRIMER.doc и PRIMER.bmp по этой аналогии то же самое, что Иван Петров и Иван Сидоров.
Файлы с именами PRIMER.doc и VARIANT.docx – это два брата из одного семейства документов (с одинаковым расширением .docx). Аналогично, например, Иван Петров и Федор Петров – братья из одной семьи Петровых.
Тип файла (то есть, расширение имени файла) – это часть имени файла, которая начинается с точки, после которой стоят несколько символов.
Распространены типы (расширения), состоящие из трех букв – .doc, .txt, .bmp, .gif и.т.д. Регистр не имеет значения, поэтому .doc и .DOC – это одно и то же расширение документа, один тип файла.
Расширение является необязательным атрибутом в имени файла, то есть его может и не быть. В таком случае в конце имени файла точка, как правило, не ставится.
Зачем нужен тип файла
Расширение в имени файла хоть и не обязательно, но все-таки желательно, так как оно указывает операционной системе Windows на тип файла. Проще говоря, тип файла является подсказкой для Windows, с помощью какой программы системе Windows следует этот файл открывать.
Например, расширение .docx указывает, что файл следует открывать с помощью редактора Word, а расширение .cdr – на то, что файл открывается графической программой Corel Draw.
Есть зарезервированные (служебные) имена, которые нельзя использовать в качестве имен файлов, так как они являются именами устройств:
PRN – принтер,
COM1-COM4 – устройства, присоединяемые к последовательным портам 1-4,
AUX – то же, что COM1,
LPT1-LPT4 – устройства, присоединяемые к параллельным портам 1-4 (как правило, принтеры),
CON (consol) – при вводе – клавиатура, при выводе – экран,
NUL – «пустое» устройство.
Запрещенные символы в именах файлов
Приведу примеры имен файлов, которые являются недопустимыми:
5<>8/7.txt – символы «<», «>» и «/» запрещены,
В чем вопрос? – символ «?» запрещен,
PRN.bmp – здесь PRN зарезервированное имя.
Что такое значок файла или иконка файла
В зависимости от типа файла на экран Windows выводятся различные значки (иконки). Первый пример касается значка текстового редактора:
— значок документа, обрабатываемого редактором Word, и имеющего расширение .doc.
Второй пример относится к архивному файлу. Это тот файл, который был обработан с помощью программы-архиватора WinRAR (сокращенно RAR):
— значок сжатых (архивных) файлов, обрабатываемых архиватором RAR, и имеющих расширение .rar.
Почему я не вижу типы файлов в своем Проводнике?
Проводник Windows (Пуск—Программы—Стандартные—Проводник) по умолчанию имеет режим, когда расширения имен (типы) файлов на экран не выводятся, но при этом выводятся значки (иконки) файлов.
Подробнее о том, как «заставить» Windows показывать типы файлов: Изменение имени файла в Windows
Выбор типа файла при сохранении файла
При сохранении файла достаточно написать его имя и выбрать тип файла из имеющегося списка. Выбранное расширение автоматически добавится к имени файла. Например, на рисунке ниже к имени файла программа сама добавит расширение .jpg. В результате Windows запомнит этот файл с именем «рисунок в paint.jpg».
Прежде чем сохранить файл, выбираем сначала подходящий тип файла, затем вводим имя файла и жмем «Сохранить».
Во избежание недоразумений при сохранении файлов всегда обращайте внимание на строку «тип файла», если она есть. Ведь тип файла является для Windows подсказкой, с помощью которого система определяет, какой именно программой этот файл можно открыть.
Тесная связь между типом файла и программой, открывающей такой тип
Если Вы скачали из Интернета файл, например, с расширением .rar, но на вашем компьютере не установлена программа-архиватор для работы с такими «сжатыми, заархивированными» файлами, то не удивляйтесь, что файл не открывается. Другими словами, надо отдавать себе отчет, что если открывать файлы, например, в видео-формате, то на компьютере должна быть в наличии соответствующая программа для работы с таким форматом.
Можно провести аналогию между файлом (точнее, между типом файла) и программой, работающей с таким типом файлов. Файл – замок, а программа, открывающая этот файл, – ключик к замочку. Как известно, замок без ключика не открывается, да и ключик без замка особой ценности не представляет.
Упражнения по компьютерной грамотности:
1) Попробуйте на Рабочем столе создать две папки с именами: PRIMER и primer.
Для этого на Рабочем столе кликните правой кнопкой мыши на свободном месте, а в появившемся окне – по опции «Создать» и, наконец, клик по опции «Папку». Вместо слов «Новая папка» введите «PRIMER». Затем все это повторяете для создания второй папки с именем «primer». Windows дал Вам «добро» на открытие второй папки?
2) Зайдите, например, в редактор Word и попробуйте сохранить документ с именем PRN. Windows разрешил такое имя для нового файла?
3) Как решить проблему: «С инета скачиваю файлы, а они в формате .rar и на компе не открываются, не читаются. Что делать?»
Если у Вас есть вопросы по этой теме, напишите их ниже, в комментариях, я отвечу.
Дополнительно:
1. Физические и логические диски
2. Папки и файлы Windows 7
3. Как в папке расположить файлы в нужном порядке
4. 6 форматов графических файлов на сайтах
5. Сказка про Главный файл
Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик.
Уже более 3.000 подписчиков
.
Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D1%8F_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0 | |
<pre> | |
Запрещённые символы | |
Многие операционные системы запрещают использование некоторых служебных символов. | |
Запрещённые символы Windows (в различных версиях): | |
— разделитель подкаталогов | |
/ — разделитель ключей командного интерпретатора | |
: — отделяет букву диска или имя альтернативного потока данных | |
* — заменяющий символ (маска «любое количество любых символов») | |
? — заменяющий символ (маска «один любой символ») | |
» — используется для указания путей, содержащих пробелы | |
< — перенаправление ввода | |
> — перенаправление вывода | |
| — обозначает конвейер | |
+ — (в различных версиях) конкатенация | |
Частично запрещённые символы Windows: | |
пробел — не допускается в конце имени файла; | |
. — не допускается в конце имени файла кроме имён каталогов, состоящих из точек и доступа с префиксом «\?». | |
Символы, вызывающие проблемы в широко распространённых компонентах: | |
% — в Windows используется для подстановки переменных окружения в интерпретаторе команд, вызывает проблемы при открытии файла через стандартный диалог открытия файла; | |
! — в Windows используется для подстановки переменных окружения в интерпретаторе команд, в bash используется для доступа к истории[1]; | |
@ — в интерпретаторах команд вызывает срабатывание функций, предназначенных для почты. | |
В именах файлов UNIX и некоторых UNIX-подобных ОС запрещен слеш (/) — разделитель подкаталогов — и символ конца C-строки (). Перечисленные выше символы (кроме слеша) использовать можно, но из соображений совместимости их лучше избегать. | |
</pre> |
Все файловые системы, поддерживаемые Windows, используют концепцию файлов и каталогов для доступа к данным, хранящимся на диске или устройстве. Разработчики Windows, работающие с API-интерфейсами Windows для ввода-вывода файлов и устройств, должны понимать различные правила, соглашения и ограничения имен файлов и каталогов.
Доступ к данным можно получить с дисков, устройств и общих сетевых ресурсов с помощью интерфейсов API файлового ввода-вывода. Файлы и каталоги, наряду с пространствами имен, являются частью концепции пути, который представляет собой строковое представление того, где получить данные, независимо от того, на диске они, или устройстве, или сетевом ресурсе.
Имена файлов и каталогов
Все файловые системы придерживаются одних и тех же общих соглашений об именовании для отдельного файла: имя базового файла и необязательное расширение, разделяемые точкой. Однако, у каждой файловой системы, ()NTFS, и cdfs, NTFS или exFAT, FAT и FAT32, могут быть особые и иные правила о формировании отдельных компонентов пути к каталогу или файлу.
Обратите внимание, что каталог — это просто файл со специальным атрибутом, обозначающим его как каталог, но он также должен следовать всем тем же правилам именования, что и обычный файл. Поскольку термин «каталог» просто относится к определенному типу файлов в отношении файловой системы, мы будем использовать общий термин «файл» для охвата понятий каталогов и файлов данных как таковых. Из-за этого, если не указано иное, любые правила именования или использования или примеры для файла также должны применяться к каталогу. Термин путь относится к одному или нескольким каталогам, обратным косым чертам и, возможно, имени тома.
Ограничения количества символов также могут различаться и варьироваться в зависимости от используемой файловой системы и формата префикса имени пути. Это еще больше осложняется поддержкой механизмов обратной совместимости. Например, старая файловая система MS-DOS FAT поддерживает не более 8 символов для имени базового файла и 3 символа для расширения, в общей сложности 12 символов, включая разделитель точку. Файловые системы Windows FAT и NTFS не ограничиваются этим, поскольку они имеют поддержку длинных имен файлов, но они по-прежнему поддерживают предыдущие версии имен файлов.
Правила именования файлов
Следующие основные правила позволяют приложениям создавать и обрабатывать допустимые имена файлов и каталогов независимо от файловой системы:
- Используйте точку, чтобы отделить имя базового файла от расширения в имени каталога или файла.
- Используйте обратную косую черту () для разделения компонентов пути. Обратная косая черта отделяет имя файла от пути к нему, и одно имя каталога от другого имени каталога в пути. Нельзя использовать обратную косую черту в имени файла или каталога, потому что это зарезервированный символ, который разделяет имена на составляющие.
- Не думайте о чувствительности к регистру. Например, можно считать имена OSCAR, Oscar и oscar одинаковыми, хотя некоторые файловые системы (например, файловая система, совместимая с POSIX) могут рассматривать их как разные. Обратите внимание, что NTFS поддерживает семантику POSIX для учета регистра, но это не поведение по умолчанию.
- Обозначения томов (буквы дисков) не учитывают регистр символов. Например,» D: «и» d: » – это одно и то же.
- Используйте любой символ на текущей кодовой странице для имени, включая символы Юникода и символы в расширенном наборе символов (128-255), за исключением следующих:
- Следующие зарезервированные символы:
- < (меньше)
- > (больше)
- : (двоеточие)
- » (двойная кавычка)
- / (косая черта)
- (обратная косая черта)
- | (вертикальный стержень или символ трубы)
- ? (вопросительный знак)
- * (звездочка)
- Целое нулевое значение, иногда называемое символом ASCII NUL.
- Символы, целочисленные представления которых находятся в диапазоне от 1 до 31, за исключением альтернативных потоков данных, где эти символы разрешены.
- Любой другой символ, который целевая файловая система не разрешает использовать.
- Следующие зарезервированные символы:
- Используйте точку как компонент каталога в пути для представления текущего каталога, например».temt.txt.».
- Используйте две последовательных точки (..) как компонент каталога в пути для представления родительского каталога текущего каталога, например»..temp.txt.»
- Не используйте следующие зарезервированные имена для имени файла: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, и LPT. Также избегайте этих имен, за которыми следует расширение; например, NUL.txt не рекомендуется.
- Не завершайте имя файла или каталога пробелом или точкой. Хотя файловая система может поддерживать такие названия, оболочка и пользовательский интерфейс Windows не будут работать с этим. Однако допустимо указывать точку в качестве первого символа имени. Например, «.temp».
Короткие и длинные имена
Длинным именем файла считается любое имя файла, которое превышает соглашение об именовании стиля MS-DOS (также называемое схема 8.3). При создании длинного имени файла Windows может также создать короткую форму имени 8.3, называемую псевдонимом 8.3 или коротким именем, и сохранить ее на диске. Это 8.3 псевдонимы могут быть отключены по соображениям производительности либо по всей системе, либо для указанного тома, в зависимости от конкретной файловой системы.
Во многих файловых системах имя файла будет содержать тильду ( ~ ) в каждом компоненте имени, которое слишком длинное, чтобы соответствовать правилам именования 8.3.
Не все файловые системы могут следовать соглашение о подстановке тильды, и системы могут быть настроены на отключение 8.3 генерации псевдонимов, даже если они обычно поддерживают его. Поэтому не следует делать предположение, что псевдоним 8.3 уже существует на диске.
По запросу 8.3 имена файлов, длинные имена файла или полный путь к файлу из системы, рассмотрите следующие варианты:
- Чтобы получить 8.3 форму длинного имени файла, используйте функцию GetShortPathName.
- Чтобы получить версию короткого имени длинного файла, используйте функцию GetLongPathName.
- Чтобы получить полный путь к файлу, используйте функцию GetFullPathName.
В новых файловых системах, таких как NTFS, exFAT, UDFS и FAT32, Windows сохраняет длинные имена файлов на диске в Юникоде, что означает, что исходное длинное имя файла всегда сохраняется. Это верно, даже если длинное имя файла содержит расширенные символы, независимо от кодовой страницы, которая активна во время операции чтения или записи диска.
Файлы, использующие длинные имена файлов, могут быть скопированы между разделами файловой системы NTFS и разделами файловой системы Windows FAT без потери информации об имени файла. Это может быть неверно для старых MS-DOS FAT и некоторых типов cdfs (CD-ROM) файловых систем, в зависимости от фактического имени файла. В данном случае, если это возможно, подставляется короткое имя файла.
Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
статьи IT, Windows, файл, каталоги, правила