Правила для имен файлов windows

Правила обозначения имен файлов в Windows.

Основным недостатком имен файлов MS-DOS является их небольшой размер. Трудно дать файлу содержательное имя, используя всего восемь символов. Этот недостаток устранен в операционных системах семейства Windows за счет введения нового понятия – длинного имени файла. Длинные имена файлов обладают следующими свойствами:

· они могут содержать до 255 символов, включая расширение;

· они могут содержать пробелы;

· они могут содержать несколько точек (расширением имени считаются те символы, которые следуют после последней точки);

· они могут содержать любые клавиатурные символы, кроме следующих: \ / : * ? » |.

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

4. длина полного имени файла, включая путь поиска, не может превышать 260 символов, а это значит, что не рекомендуется давать «слишком длинные» имена папкам;

5. следует воздерживаться от применения «длинных» имен файлов в корневой папке, поскольку она, в отличие от всех других папок, имеет ограниченное количество структурных элементов для хранения имен файлов;

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

В крайнем случае (например, в операции поиска) длинное имя файла, содержащее пробелы, заключают в кавычки: «Приготовление вкусной и здоровой пищи из картофельных очисток.doc».

Командная строка Windows.

Операционные системы семейства Windows «выросли» из MS-DOS и теоретически сохраняют совместимость со всеми приложениями MS-DOS, как выпущенными в прошлые годы, так и появляющимися в наши дни. Однако не все версии Windows обладают одинаковой совместимостью с MS-DOS, и не для всех приложений MS-DOS используются одинаковые средства. Операционная система Windows унаследовала от MS-DOS большое количество команд, для выполнения которых существует специальное приложение, называемое «Командная строка». В определенном смысле это приложение является эмулятором операционной системы MS-DOS.

Командную строку можно запустить из основного меню Windows следующим образом: «Пуск / Программы / Стандартные / Командная строка». В результате не экране появится примерно следующее окно.

В режиме командной строки управление операционной системой производится с помощью прямых команд, вводимых в командную строку. Она выделяется тем, что в ней присутствует символ «>» и мигает курсор. Данный символ называется приглашением MS-DOS. Считается, что он «приглашает» пользователя вводить команды. Все команды набираются в командной строке с помощью клавиатуры. Набранная команда начинает выполняться после нажатия клавиши ENTER.

Запуск программ

Для запуска программ в системе MS-DOS нет специальной команды. Принято, что программа запускается вводом имени ее файла в командную строку. При этом можно использовать символы как верхнего, так и нижнего регистра. Расширение имени файла указывать не обязательно. Так, например, для того, чтобы запустить игру game5.exe, находящуюся в каталоге C:\GAMES\GAME5, надо дать прямую команду:

С:\GAMES\GAME5>game5 [ENTER]

С:\GAMES\GAME5>game5.ехе [ENTER]

Указанную в скобках команду [ENTER] вводить не надо. Так обозначена необходимость нажатия клавиши ENTER, которая завершает ввод любой команды MS-DOS.

Просмотр каталогов.

Мы давали команду на запуск программы game5.exe, уже находясь в каталоге C:\GAMES\GAME5 – о том, где мы находимся, можно узнать по приглашению в командной строке. Если попробовать дать команду на запуск файла, находясь в другом каталоге, то в общем случае операционная система откажется этот файл исполнять, поскольку не знает, где он находится. Чтобы точно установить, что имеется в текущем каталоге и как правильно пишется имя файла, надо просмотреть содержимое каталога. Для этого служит команда dir (directory). Вот, например, что покажет экран MS-DOS, если дать эту команду, находясь в каталоге C:\WINDOWS\SYSTEM32.

Читайте также:  Creative cloud не запускается mac os

С:\WINDOWS\SYSTEM32>dir [ENTER]

Как видно из рисунка, в данном каталоге почти две тысячи файлов, и они пробегают по экрану так быстро, что рассмотреть что-либо совершенно невозможно. В принципе можно попробовать воспользоваться клавишей PAUSE, но это не очень удобно. Лучше задать режим постраничной прокрутки экрана параметром /р:

C:\WINDOWS\SYSTEM32>dir /p [ENTER]

Можно также выводить не все файлы, а только те, которые имеют заданное расширение, например .exe. Для этого используют подстановочные символы.

C:\WINDOWS\SYSTEM32>dir *.exe [ENTER]

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

C:\WINDOWS\SYSTEM32>dir f. exe [ENTER]

выведет на экран все файлы находящиеся в текущем каталоге с расширением .exe, а имя которых не длиннее четырех символов, причем первым символом является «f».

Хорошо, если мы знаем, что, например, команду dir можно использовать с параметром /р. А если нет? На этот случай в MS-DOS есть универсальный параметр /?. С его помощью можно получить справку о том, как надо использовать конкретную команду. Попробуйте, например, дать следующую команду:

C:\WINDOWS\SYSTEM32>dir /? [ENTER]

Смена текущего каталога.

Убедившись в том, что запускаемой программы в текущем каталоге нет, мы оказываемся перед проблемой смены каталога. Переходить из каталога в каталог можно двигаясь как «вниз», так и «вверх». Для перехода в другой каталог служит команда: cd (change directory), после которой надо указать имя нового каталога (его можно было посмотреть командой dir). Например, команда

C:\WINDOWS>cd system32 [ENTER]

переведет нас вниз, во вложенный каталог \SYSTEM32, и мы получим приглашение

С:\WINDOWS\SYSTEM32>

Чтобы переместиться сразу на несколько уровней вниз, необходимо в качестве параметра команды cd указать последовательность каталогов, разделенных символом «\». Например, находясь в каталоге C:\WINDOWSможно дать следующую команду

C:\WINDOWS>cd system32\config [ENTER]

Результатом будет следующее приглашение

С:\WINDOWS\SYSTEM32\CONFIG>

Для перемещения «вверх» имя каталога в команде cd указывать не надо – система и так знает путь наверх, поскольку он присутствует в «приглашении». Достаточно указать после cd две точки (cd ..). Например, команда

С:\WINDOWS\SYSTEM32>cd .. [ENTER]

даст нам следующее приглашение операционной системы

C:\WINDOWS>

Чтобы переместиться сразу на несколько уровней вверх, необходимо в качестве параметра команды cd указать последовательность из двух точек, потом символ «\», потом снова последовательность из двух точек. И так столько раз на сколько уровней вверх необходимо подняться. Например, находясь в каталоге С:\WINDOWS\SYSTEM32\CONFIGмы хотим подняться на два уровня вверх, то есть оказаться в каталоге С:\WINDOWS. Для этого необходимо дать следующую команду

С:\WINDOWS\SYSTEM32\CONFIG>cd ..\.. [ENTER]

Команда cd \ служит для перемещения на самый высокий уровень (к корневому каталогу диска). Например, находясь в каталоге С:\WINDOWS\SYSTEM32\CONFIG мы выполняем команду:

С:\WINDOWS\SYSTEM32\CONFIG>cd \ [ENTER]

Результатом будет следующее приглашение

С:\>

Смена диска.

Это очень простая команда навигации. Достаточно после приглашения дать имя диска с двоеточием, и совершится переход на этот диск. Например, находясь в каталоге С:\WINDOWS даем команду:

С:\WINDOWS>d: [ENTER]

Результатом будет следующее приглашение

D:>

Удаление файлов

Для удаления файлов служит команда del (для удаления групп файлов ее можно использовать вместе с символами-заместителями). Например, команда del *.* эффективно удалит все файлы, имеющиеся в текущем каталоге.

Копирование файлов

Для копирования файлов служит команда сору (ее тоже можно использовать вместе с символами-заместителями). В наиболее общем случае команда copy имеет два параметра: источник (файл, который необходимо скопировать) и приемник (место на диске куда необходимо скопировать файл). Например, мы хотим скопировать файл С:\WINDOWS\setupapi.logв корневой каталог диска A:. Для этого необходимо выполнить команду

С:\WINDOWS>сору С:\WINDOWS\setupapi.log a:\ [ENTER]

Читайте также:  Eclipse gdb stlink linux

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

С:\WINDOWS>сору С:\WINDOWS\setupapi.log a:\setup.log [ENTER]

Можно заметить, что выполняя эту команду мы находились в каталоге С:\WINDOWS. Поэтому указание полного имени для файла источника является излишним, так как он находится в текущем каталоге. То есть вышеприведенная команда эквивалентна следующей:

С:\WINDOWS>сору setupapi.log a:\setup.log [ENTER]

Интересный результат дает команда copy ключом «+». Он позволяет объединить несколько файлов в один.

Правила для имен файлов windows

Все файловые системы, поддерживаемые 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».
Читайте также:  Если комп зависает при обновлении windows

Короткие и длинные имена

Длинным именем файла считается любое имя файла, которое превышает соглашение об именовании стиля 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, файлы, каталоги, правила

Оцените статью