Какие знаки нельзя использовать в имени файла windows

Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.

Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.

Понятия «путь» и «имя файла»

Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако 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 символов.


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

Show hidden 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>

Если вы загружаете на сайт файлы (документы, изображения, архивы и пр.), и подразумевается, что доступ к этим файлам будет публичный, а не ограниченный списком избранных товарищей, нужно иметь в виду, что различные многочисленные пользователи сети интернет используют разные устройства ( настольные компьютеры, ноутбуки, планшеты, смартфоны, …) и разные операционные системы (Mac, PC, Linux, …).

Символы, запрещенные в имени файла

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

Использование правильных названий для папок и файлов очень важно для web, особенно — для загружаемых файлов, таких как PDF-файлы, документы MS Word, электронные таблицы MS Excel и др.

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

Не используйте следующие запрещенные символы в названиях директорий и файлов:

# — pound (решетка) < — left angle bracket (знак «меньше») $ — dollar sign (доллар) + — plus sign (плюс)
% — percent (процент) > — right angle bracket (знак «больше») ! — exclamation point (восклицательный знак) ` — backtick (обратная кавычка)
& — ampersand (амперсенд) * — asterisk (звездочка) — single quotes (одинарные кавычки) | — pipe (вертикальная черта)
{ — left bracket (левая фигурная скобка) ? — question mark (вопросительный знак) — double quotes (двойные кавычки) = — equal sign (равно)
} — right bracket (правая фигурная скобка) / — forward slash (прямой слеш) : — colon (двоеточие)  
— back slash (обратный слеш) — blank spaces (пробел) @ — at sign (собачка)  

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

Рассмотрим ситуацию, в которой пользователь загрузил на сайт PDF-файл, содержащий в названии символ «Решетка» (pound) — #. Сервер имеет операционную систему Linux. Поведение сервера при наличии таких символов в именах файлов будет неадекватным.

В этом случае апач считает что URL — это все, что находится перед знаком «Решетка», а все что после него — это якорь на HTML-странице, т.е. ссылка на конкретное место в HTML-документе. Соответственно, он не распознает его, как файл и не отдает пользователю.

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

Таким образом, нужно всего лишь не использовать символы запрещенные для имен и папок на сайте. Это самое простое в реализации.

Дополнительно, запомните следующие правила и постарайтесь им следовать:

  • Название файлов не должно начинаться и заканчиваться знаком «Пробел» (space), «Точка» (period), «Дефис» (hyphen) или «Подчеркивание» (underline);
  • Не присваивать файлам слишком длинные названия, постараться не превышать 31 символ;
  • По возможности всегда использовать только маленькие буквы, некоторые операционные системы чувствительны к регистру;
  • Избегайте использование знака «Пробел» и «Подчеркивание», если название файла состоит из нескольких слов. В этом случае лучше используйте знак «Дефис».
  • Не используйте отличные от латиницы буквы для названий файлов и папок (русские, китайские, немецкие с умляут и др.). Не смотря на широкие возможности современных кодировок типа UTF-8, у некоторых пользователей могут возникнуть трудности с файлами, имеющими такие экзотические символы в названии.

Комментарии ()

Оставьте свой комментарий

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.

Имена файлов и их расширения

Введение

Имя файла состоит из двух частей: собственно имени и его расширения. Друг от друга они отделяются точкой. Расширение облегчает работу
операционной системе, явно указывая на то, что должно содержаться в файле.
Вместе с тем, это таит в себе определенную опасность: если случайно или намеренно изменить имя файла, станет неочевидно, с помощью какой программы его открывать.

Для символов, используемых для названия файлов, существует целый ряд ограничений.

    Для имен файлов нельзя использовать

  • Прямую и обратную косую черту «/» и «».
  • Зарезервированные символы «:», «*», «?» и «|».
  • Кавычки любого вида.
  • Знаки больше и меньше.
  • Большинство знаков, которые можно набрать только при помощи 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. Язык, интерпретируемый сервером

См. также Резервное копирование.

Системы Windows и Linux позволяют создавать и называть файлы и каталоги в соответствии с вашими требованиями, но некоторые символы нельзя использовать для названия каталогов и файлов. В этой статье мы узнаем о запрещенных символах в именах каталогов Windows и Linux.

Содержание

  1. Запрещенные символы в именах каталогов Windows и Linux
  2. Linux/Unix
  3. Windows
  4. Запрещенные непечатаемые символы
  5. Linux/Unix
  6. Windows
  7. Запрещенные (зарезервированные) имена
  8. Заключение

Запрещенные символы в именах каталогов Windows и Linux

Некоторые символы являются печатными символами ASCII, а некоторые — непечатными. Вот символы, которые не поддерживаются для имен файлов и каталогов.

Linux/Unix

Windows

< (меньше чем)
> (больше чем)
: (двоеточие - иногда работает, но на самом деле это NTFS Alternate Data Streams)
" (двойная кавычка)
/ (прямая косая черта)
 (обратная косая черта)
| (вертикальная полоса или труба)
? (вопросительный знак)
* (звездочка)

Запрещенные непечатаемые символы

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

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

Linux/Unix

  • 0 (байт NULL)

Windows

  • 0-31 (управляющие символы ASCII)

Запрещенные (зарезервированные) имена

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

  • CON, PRN, AUX, NUL
  • COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9
  • LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9

Заключение

Также помните, что Windows не различает символы верхнего и нижнего регистра в именах файлов и каталогов, поэтому если вы попытаетесь назвать один файл как a.txt, а другой файл в том же каталоге как A.txt, это не позволит вам этого сделать.

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

В этой статье мы узнали о запрещенных символах для имен файлов и каталогов в Windows и Linux.

Какие знаки нельзя использовать в имени файла?

В имени файла не можно использовать следующие знаки знак доллара ($), знак номера (#), звездочка — (*), фигурные скобки — (), так же вертикальные, косые черточки — ( /|), вопросительный знак (?), двоеточии (:), так же еще такие знаки как угловые скобки или знак равенства (> <), процент (%), амперсанд (&), кавычки («), знак плюс (+), знак кавычек («), тильда (

% & № @ ! + можно использовать. Некоторые из этих символов используются программами в качестве первого символа для обозначения некоторой особености файла, но это не запрещает их использовать вам лично

Просто скачайте программу WinRar, и с помощью нее добавьте ваш файл в архив, нажав на него правой клавишей мыши (появится меню, выбрать «добавить в архив»). Перед архивированием появится табличка с параметрами, там есть кнопка для добавления пароля. Архивируем. После всего этого закачиваем файл на сервер и ВУАЛЯ. Пользователи, скачавшие файл, не смогут открыть его, им понадобится пароль, чтобы файл вытащить из архива

Они так и остаются на диске. Просто они помечены как свободная область, готовая принять и записать новую информацию. Существуют программы, позволяющие восстановить удаленные файлы, но не всегда в полном объеме, так как на часть удаленных файлов уже может лечь новая информация.

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

Приватная информация, а именно к такой можно отнести резервные файлы, шифруется и скрывается под расширением *.genc. Можно попытаться открыть при помощи программы Genie Eyes-Only.

Acronis True Image. Это программа резервного копирования диска. Она создает файл с таким расширением .tib и, соответственно, она же его и может использовать.

Acronis True Image удобна в тех случаях, когда важна информация на диске, важна сама операционная система. В случае вирусной атаки, порчи операционной системы, и различного вида неустранимых сбоев в результате обновления или установки каких программ (драйверов), когда невозможно запустить операционную систему, которая «вот только что работала и вдруг перестала». В такой ситуации, даже не обязательно использовать компакт диск с программой! Достаточно нажать заранее выбранную кнопку при включении компьютера (обычно это F12) и с тайного раздела диска запуститься Acronis True Image и восстановит операционную систему и всю информацию на выбранном диске в том виде, в каком они были в момент резервного копирования.

Какие символы запрещены в именах каталогов Windows и Linux?

Я знаю, что «/» является недопустимым в Linux, а в Windows (я думаю) недопустимы следующие «* . » / [ ] : ; |,»

Что еще я упустил?

Мне нужно полное руководство, которое учитывало бы двухбайтовые символы. Ссылки на внешние ресурсы меня также устраивают.

Сначала мне нужно создать каталог в файловой системе, используя имя, которое может содержать запрещенные символы, поэтому я планирую заменить эти символы символами подчеркивания. Затем мне нужно записать этот каталог и его содержимое в zip-файл (используя Java), поэтому любые дополнительные советы относительно имен zip-каталогов будут приняты с благодарностью.

Ответ 1

  1. /(прямая косая черта) .

  1. <(меньше чем) .

  2. > (больше чем) .

  3. :(двоеточие – иногда работает, но на самом деле это NTFS Alternate Data Streams) .

  4. » (двойная кавычка) .

  5. / (прямая косая черта) .

  6. (обратная косая черта) .

  7. | (вертикальная полоса или труба) .

  8. ? (вопросительный знак) .

  9. * (звездочка) .

  1. 0 (байт NULL) .

  1. 0-31 (управляющие символы ASCII) .

  1. CON, PRN, AUX, NUL .

  2. COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9 .

  3. LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 .

  1. Имена файлов не могут заканчиваться пробелом или точкой.

  1. Вы об этом не спрашивали, но на всякий случай: Двоеточие «:» и прямой слэш «/» в зависимости от контекста не разрешены (например, Finder поддерживает слэш, терминал – двоеточие).

Ответ 2

«Исчерпывающее руководство» по запрещенным символам имен файлов не будет работать в Windows, потому что она резервирует имена файлов, а также символы. Да, символы типа «* » ?» и другие запрещены, но существует бесконечное количество имен, состоящих только из допустимых символов, которые запрещены. Например, пробелы и точки являются допустимыми символами имени файла, но имена, состоящие только из этих символов, запрещены.

Windows не различает символы верхнего и нижнего регистров, поэтому вы не можете создать папку с именем «A», если папка с именем «a» уже существует. Хуже того, такие, казалось бы, разрешенные имена, как «PRN» или «CON», и многие другие, зарезервированы и не разрешены. Windows также имеет несколько ограничений по длине; имя файла, допустимое в одной папке, может стать недействительным при перемещении в другую папку. Правила именования файлов и папок приведены в документации Microsoft.

В общем случае нельзя использовать пользовательский текст для создания имен каталогов Windows. Если вы хотите разрешить пользователям называть все, что они хотят, вы должны создавать безопасные имена, такие как A, AB, A2 и т. д., хранить созданные пользователем имена и их эквиваленты путей в файле данных приложения и выполнять сопоставление путей в вашем приложении.

Если вам обязательно нужно разрешить пользовательские имена папок, единственный способ определить, являются ли они недействительными, – это ловить исключения и считать, что имя недействительно. Даже это чревато опасностью, поскольку исключения, возникающие при отказе в доступе, отключении дисков и отсутствии места на диске, пересекаются с исключениями, которые могут возникать при недействительных именах .

Ответ 3

В оболочках Unix вы можете заключить в одинарные кавычки почти все символы. За исключением одинарной кавычки, и вы не можете выразить управляющие символы, потому что «» не расширяется. Доступ к самой одинарной кавычке из строки в кавычках возможен, потому что вы можете объединять строки с одинарными и двойными кавычками, например так, «’I»»»m»», который может быть использован для доступа к файлу под названием «I’m» (здесь также возможна двойная кавычка).

Таким образом, вам следует избегать всех управляющих символов, потому что их слишком сложно вводить в оболочке. Остальное возможно, особенно файлы, начинающиеся с тире, потому что большинство команд считывают их как опции, если только перед ними не стоят два тире «—«, или вы не указываете их с помощью «./», что также скрывает начальное «-«.

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

Ответ 4

Лучшее предложение, которое я смог придумать, – позволить пользователю называть файл так, как ему нравится. Используя обработчик ошибок, когда приложение пытается сохранить файл, перехватывайте любые исключения, предполагая, что виновато имя файла (очевидно, убедившись, что путь сохранения также в порядке), и предлагайте пользователю задать новое имя файла. Для достижения наилучших результатов поместите эту процедуру проверки в цикл, который продолжается до тех пор, пока пользователь не получит правильное имя или не отмени т операцию. Это работает лучше всего (по крайней мере, в VBA).

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

archive viewarchive save

Согласно Обзор файловых систем FAT, HPFS и NTFS в системе Windows нельзя обычным образом создать файлы и каталоги с именами:

/>Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Также в именах для файлов и каталогов нельзя использовать символы:

  • для файловой системы FAT : . » / [ ] : ; | = ,
  • для файловой системы NTFS : ? » / < > * | :

На самом деле файлы и каталоги с запрещёнными (зарезервированными) именами создать можно, если очень хочется:

/>Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!

Но не нужно этого делать по той причине, что могут возникнуть конфликты при работе различных устройств! Например, мы создали каталог с именем LPT1 или COM3, потом хорошо выпили и набрали команду copy file.txt COM3 или copy con LPT1 — внимание, вопрос: куда система должна выполнить копирование, в каталог или в порт COM3/LPT1?:)

Так что невозможность создания, обычным образом, файлов и каталогов с зарезервированными системными (досовскими) именами — это не баг и не страх Билла Гейтса, а баг скорее всего возможность создать такие файлы и каталоги через консоль md «\.C:con» !

Лучше не пытаться свернуть мозги системе, а то гляди может и получиться. Всех с новым годом, желаю всем в новом году счастья, здоровья и всяческих баг, тьфу ты. т.е. благ!;))

Понравилась статья? Поделить с друзьями:
  • Какие материнские платы asus поддерживают windows 11
  • Какие обновления не нужно устанавливать на windows 7 x64
  • Какие звуковые карты поддерживает windows 10
  • Какие обновления не надо ставить на windows 10
  • Какие люмия можно обновить до windows 10