Какие символы недопустимы для имени файла ms-dos?

Оглавление

История

Точка (период или полная остановка) в качестве разделителя расширения имени файла, а также ограничение на три буквы расширение, появилась в 1970 — х годах. Они могли исходить из 16-битных ограничений кодировки символов RAD50 .

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

В 1985 году RFC 959 официально определил имя пути как строку символов, которая должна быть введена в файловую систему пользователем для идентификации файла.

Примерно в 1995 году VFAT , расширение файловой системы MS-DOS FAT, было представлено в Windows 95 и Windows NT . Это позволило использовать длинные имена файлов Unicode (LFN) в смешанном регистре в дополнение к классическим именам «8.3».

Ограничения на длины имен файлов и путей

Существуют ограничения на длину имени файла и на длину пути. Абсолютное ограничение длины имени файла вместе включая путь к нему равно 260 символам. Этот предел называют термином MAX_PATH. На самом же деле на практике пределы для имен еще меньше из-за ряда других ограничений. Например, каждая строка на конце должна содержать так называемый нулевой символ, который обозначает конец строки. Несмотря на то, что маркер конца строки не отображается, он учитывается как отдельный символ при подсчете длины, а значит остается 259 символов доступных для имени файла и пути к нему. Первые три символа в пути используются для обозначения диска (например, C:\). Это уменьшает предел для имен папок, подпапок и файла до 256 символов.

На имя объекта (папки или файла) наложено ограничение длины 255 символов. Этот предел действителен только, если объект не расположен внутри папки. Так как при расположении объекта внутри папки, сумма длин всех папок в которых он расположен, разделителей и имени объекта ограничена 256 символами, то предел длины самого имени объекта меньше 255 символов.

Запрещенные символы в именах файлов

Приведу примеры имен файлов, которые являются недопустимыми:

58/7.txt – символы « » и «/» запрещены,

В чем вопрос? – символ «?» запрещен,

PRN.bmp – здесь PRN зарезервированное имя.

Что такое значок файла или иконка файла

В зависимости от типа файла на экран Windows выводятся различные значки (иконки). Первый пример касается значка текстового редактора:

Второй пример относится к архивному файлу. Это тот файл, который был обработан с помощью программы-архиватора WinRAR (сокращенно RAR):

Почему я не вижу типы файлов в своем Проводнике?

Проводник Windows (Пуск—Программы—Стандартные—Проводник) по умолчанию имеет режим, когда расширения имен (типы) файлов на экран не выводятся, но при этом выводятся значки (иконки) файлов.

Подробнее о том, как “заставить” Windows показывать типы файлов: Изменение имени файла в Windows

Выбор типа файла при сохранении файла

Прежде чем сохранить файл, выбираем сначала подходящий тип файла, затем вводим имя файла и жмем “Сохранить”.

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

Тесная связь между типом файла и программой, открывающей такой тип

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

Упражнения по компьютерной грамотности:

1) Попробуйте на Рабочем столе создать две папки с именами: PRIMER и primer.

Для этого на Рабочем столе кликните правой кнопкой мыши на свободном месте, а в появившемся окне – по опции «Создать» и, наконец, клик по опции «Папку». Вместо слов «Новая папка» введите «PRIMER». Затем все это повторяете для создания второй папки с именем «primer». Windows дал Вам «добро» на открытие второй папки?

2) Зайдите, например, в редактор Word и попробуйте сохранить документ с именем PRN. Windows разрешил такое имя для нового файла?

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

Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам

Как в Windows 10 отключить ограничение на длину пути в 260 символов через политику

Чем примечателен данный метод, так это тем, что неподготовленных пользователей он не вынуждает выполнять команды или производить правку реестра, тут все в графическом виде. Так же если у вас есть домен Active Directory и вы хотите массово убрать ошибки “Слишком длинный целевой путь” или “Слишком длинный конечный путь” в приложениях и запретить им проверять MAX_PATH и использовать длинные пути без префикса \\?\, то групповые политики вам это помогут.

Покажу для начала, как делать через локальную политику, открываете окно “Выполнить” в котором пишите gpedit.msc.

Далее идем по пути:

Найдите тут параметр “Включить длинные пути Win32 (Enable Win32 long paths)“, по умолчанию он отключен, и я честно не понимаю почему. Активируйте его.

Как я писал выше, в проводнике это не даст ни каких эффектов, поэтому вы все так же будите получать ошибку при копировании, создании, удалении “Слишком длинный целевой путь” или “Слишком длинный конечный путь“. Ниже я покажу, что делать если нужно что-то там удалить или изменить. Данное ограничение в длине пути теперь не подхватиться на лету всеми приложениями, потребуется перезагрузка.

Правильное именование файлов, папок и выбор их места нахождения

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

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

  • «Рабочий стол»;
  • «Мои документы»;
  • «Мои рисунки»;
  • «Мои презентации».

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

Всегда следует использовать папку (папки) с осознанно выбранным именем на диске D. В настоящее время практически все операционные системы и популярные приложения относятся положительно к буквам русского алфавита. Но крайне нежелательно разбавлять выбранные имена точками и пробелами.

Последовательность букв в имени папки, как и файла должна быть непрерывной. Символы дефиса «-» и подчеркивания «_» допустимы и безопасны в именовании, но точек и пробелов нужно избегать.

Нюансы длинных путей в приложениях

Есть один нюанс. Этот новый параметр (имеется ввиду та политика и ключ реестра) не обязательно будет работать со всеми существующими приложениями, но он будет работать с большинством. В частности, любые современные приложения должны работать нормально, как и все 64-битные приложения. Старые 32-разрядные приложения должны быть применимы для работы, что на самом деле просто означает, что разработчик указал в файле манифеста приложения, что приложение поддерживает более длинные пути. Большинство популярных 32-битных приложений не должно вызывать проблем. Тем не менее, вы ничем не рискуете, пробуя настройку. Если приложение не работает, единственное, что произойдет, это то, что оно не сможет открывать или сохранять файлы, сохраненные в местах, где полный путь превышает 260 символов.

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

Описание проблемы длинных путей

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

Что интересно, значение в 260 символов обусловлено значением MAX_PATH Win32 API. У файловой системы NTFS максимальная длина пути ″немного″ больше и составляет 32767 символа. Для обхода ограничений Win32 API некоторые приложения используют формат UNC, указывая абсолютный путь с префиксом \\?\, например так:

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

Тоже самое при копировании в папку, так же выскакивает “Слишком длинный целевой путь”.

Вот ошибка при извлечении архива в сетевую папку:

Обзор

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

VFAT и компьютерные имена файлов формата 8.3

VFAT , вариант FAT с расширенным форматом каталогов, был представлен в Windows 95 и Windows NT 3.5. Это позволило использовать длинные имена файлов Unicode (LFN) в смешанном регистре в дополнение к классическим именам 8.3, используя несколько для длинных имен файлов (таким образом, что только одна из них будет распознаваться старым системным программным обеспечением 8.3 как допустимая запись каталога. ).

Для обеспечения обратной совместимости с устаревшими приложениями (в DOS и Windows 3.1 ) в файловых системах FAT и VFAT автоматически создается имя файла 8.3 для каждого LFN, через которое файл все еще можно переименовать, удалить или открыть, хотя сгенерированное имя (например, ) может иметь небольшое сходство с оригиналом. В файловых системах NTFS создание имен файлов формата 8.3 может быть отключено. Имя файла 8.3 можно получить с помощью функции Kernel32.dll GetShortPathName.

Хотя не существует обязательного алгоритма для создания имени 8.3 из LFN, Windows использует следующее соглашение:

  1. Если LFN в верхнем регистре 8,3, LFN вообще не будет храниться на диске.
  2. Если LFN имеет смешанный регистр 8.3, LFN будет хранить имя в смешанном регистре, а имя 8.3 будет его версией в верхнем регистре.
  3. Если имя файла содержит символы, недопустимые в имени 8.3 (включая пробелы, которые были запрещены соглашением, но не API-интерфейсами), или какая-либо часть слишком длинная, имя удаляется из недопустимых символов, таких как пробелы и дополнительные точки. Если имя начинается с точек, ведущие точки удаляются. Другие символы, например , заменяются подчеркиванием , а буквы вводятся в верхнем регистре. Затем удаленное имя обрезается до первых 6 букв базового имени , за которым следует тильда , за которой следует одна цифра , за которой следует точка , за которой следуют первые 3 символа расширения.
  4. Во всех версиях NT, включая Windows 2000 и более поздние версии , если уже существует по крайней мере 4 файла или папки с таким же расширением и первыми 6 символами в их коротких именах, вырезанный LFN вместо этого усекается до первых 2 букв базового имени (или 1, если базовое имя состоит только из 1 буквы), за которыми следуют 4 шестнадцатеричные цифры, полученные из недокументированного хэша имени файла, за которым следует тильда, за которой следует одна цифра, за которой следует точка , за которой следуют первые 3 символа расширения.
  5. В Windows 95, 98 и ME, если более 9 файлов или папок с одинаковым расширением и первыми 6 символами и в их коротких именах (так что сквозных суффиксов недостаточно для разрешения конфликта), имя дополнительно усекается до 5. буквы, за которыми следует тильда, за которыми следуют две цифры, начиная с 10, за которыми следует точка и первые 3 символа расширения.

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

ISO 9660 файловой системы ( в основном используется на компакт — дисках ) имеет те же ограничения , на самом базовом уровне 1, с дополнительным ограничением , что имена каталогов не могут содержать расширения и что некоторые символы ( в частности , дефисы ) не допускается в именах файлов. Уровень 2 допускает имена файлов длиной до 31 символа, более совместимые с классическими именами файлов AmigaOS и Mac OS .

Во время антимонопольного дела Microsoft 2001 года названия MICROS ~ 1 и MICROS ~ 2 в шутку использовались для обозначения компаний, которые могли существовать после предложенного разделения Microsoft.

Имена файлов в разных системах [ править | править код ]

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

Windows

Полное имя файла в Windows-системах состоит из буквы диска, после которого ставится двоеточие и обратная наклонная черта (обратный слеш), затем через обратные слеши перечисляются подкаталоги, в конце пишется имя файла. Пример:

Полное имя файла (включая расширение) в Windows может содержать до 260 символов, данное значение определено константой MAX_PATH в Windows API; например, полное имя файла максимально допустимой длины на диске C будет таким: «C: NULL» (например, «C: NULL»). Однако, юникодовые версии некоторых функций позволяют использовать полные имена файлов длиной до 32767 символов, такие имена начинаются с префикса «\?». Пример:

При использовании префикса «\?» необходимо указывать абсолютный путь к файлу, относительные пути не допускаются. При использовании относительных путей максимальная длина полного имени файла определена константой MAX_PATH (260 символов).

UNIX

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

Пути, начинающиеся не с косой черты, считаются относительными и отсчитываются относительно рабочего каталога. Пример:

../mc при нахождении в каталоге /etc/apache2 эквивалентно /etc/mc .

Особое значение у путей, которые начинаются с тильды (

). Тильда обозначает домашний каталог текущего или указанного пользователя. Пример:

/Desktop для пользователя user во многих системах и случаях эквивалентно /home/user/Desktop

admin/passwords для любого пользователя равносильно /home/admin/passwords

root/test для любого пользователя — то же самое, что и /root/test , потому что суперпользователь (root) имеет особый домашний каталог.

  1. 123 Для каталога каждого пользователя в современных ОС может быть настроен произвольный путь.

Обход ограничений длинных путей через 7zFM

Наверняка многие знают архиватор 7Zip, но мало кто пользуется его файловым менеджером 7zFM.exe, а зря именно он может вам помочь в ситуации с сообщением “Слишком длинный целевой путь” или “Слишком длинный конечный путь”. Вот у меня есть тестовая директория, у которой уже есть 260 символов в пути, и я не могу там создавать новую папку.

Откройте 7zFM.exe и перейдите в нем в конечную папку вашего пути.

Для создания новой папки нажмите клавишу F7.

Задайте необходимое вам имя, в моем примере это будет “БОльше 260 Microsot“.

В результате у нас создалась новая папка и заметьте 7zFM не ругнулся на наличие длинных путей, он их игнорирует просто и все.

Проверяем, что директория доступна через проводник Windows.

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

Windows недопустимые символы в имени файла

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

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

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

Но для сохранения файла нужно присваивать ему имя с учетом некоторых правил и ограничений интернета

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

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

# – pound (решетка) – 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, для него всё является ссылкой, поэтому он так и будет обрабатывать.

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

Количество имен в файле

Unix-подобные файловые системы позволяют файлу иметь более одного имени; в традиционных файловых системах в стиле Unix имена являются жесткими ссылками на индексный дескриптор файла или его эквивалент. Windows поддерживает жесткие ссылки в файловых системах NTFS и предоставляет команды для их создания в Windows XP и более поздних версиях. Жесткие ссылки отличаются от ярлыков Windows , классических псевдонимов Mac OS / macOS или символических ссылок . Введение LFN с VFAT позволило использовать псевдонимы файлов. Например, в псевдониме имени файла было максимум восемь плюс три символа, чтобы соответствовать ограничениям 8.3 для старых программ.

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

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

Настройка Windows 10 на обработку длинных путей к файлам

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

Есть два способа сделать это. Один предназначен для пользователей Windows 10 Home, а другой — для пользователей Windows 10 Pro или Enterprise. Эти методы могут работать для Windows 8.1 или более ранней версии, но мы не можем гарантировать это.

Параметры для Windows 10 Home

Чтобы Windows 10 Home принимала длинные пути к файлам, нам нужно открыть редактор реестра . Если вы раньше не работали в редакторе реестра, будьте осторожны. Случайное удаление или изменение здесь может помешать работе Windows полностью.

Всегда делайте резервную копию вашего реестра, прежде чем вносить какие-либо изменения. Узнайте все, что вам нужно знать об этом, в нашем окончательном руководстве по резервному копированию и восстановлению реестра Windows.

Открыв редактор реестра и сделав резервную копию, перейдите в папку и найдите ключ LongPathsEnabled.

Дважды щелкните LongPathsEnabled. Убедитесь, что в поле Значение данные: номер 1 указан. Нажмите OK, чтобы подтвердить изменения.

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

Параметры для Windows 10 Pro или Enterprise

Чтобы позволить Windows 10 Pro или Enterprise использовать длинные пути к файлам, мы будем использовать редактор локальной групповой политики. Это инструмент, который позволяет нам устанавливать политики в отношении работы Windows на компьютере и на уровне пользователей.

Откройте редактор групповой политики, перейдя в меню «Пуск» и набрав . Лучший результат должен быть Изменить групповую политику. Дважды щелкните по этому.

После открытия редактора групповой политики перейдите к Конфигурация компьютера → Административные шаблоны → Система → Файловая система. Там вы увидите политику включения длинных путей Win32.

Дважды щелкните по нему, чтобы изменить параметр политики. Измените его с «Отключено» на «Включено», затем нажмите кнопку «ОК», чтобы зафиксировать изменение.

Политика может не вступить в силу сразу. Вы можете принудительно обновить групповую политику.

Пути

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

Часто очень важно интерпретировать систему пути, который выглядит как начало или префикс пути. Этот префикс определяет пространство имен , используемое в пути, а также специальные символы, используемые в качестве позиции внутри пути, включая последний символ

Если компонент пути является именем файла, то он должен быть последним компонентом.

Каждый компонент пути также будет ограничен максимальной длиной, указанной для конкретной файловой системы. Как правило, эти правила делятся на две категории: Short и Long

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

Полные и относительные пути

для функций API Windows, которые управляют файлами, имена файлов часто могут относиться к текущему каталогу, в то время как некоторым api требуется полный путь. Имя файла задается относительно текущего каталога, если он не начинается с одного из следующих:

  • UNC-имя любого формата, который всегда начинается с двух символов обратной косой черты (» \ \ «). Дополнительные сведения см. в следующем разделе.
  • Обозначение диска с обратной косой чертой, например «C: \ » или «d: \ «.
  • Одна обратная косая черта, например » \ Directory» или » \file.txt». Это также называется абсолютным путем.

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

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

  • «C:tmp.txt» ссылается на файл с именем «tmp.txt» в текущем каталоге на диске C.
  • «К:темпдир \tmp.txt» ссылается на файл в подкаталоге для текущего каталога на диске C.

Путь также считается относительным, если он содержит «двойные точки»; то есть две точки вместе находятся в одном компоненте пути. Этот Специальный описатель используется для обозначения каталога над текущим каталогом, в противном случае известный как «родительский каталог». Ниже приведены примеры этого формата.

  • «..\tmp.txt «указывает файл с именем tmp.txt, расположенный в родительском каталоге текущего каталога.
  • «..\..\tmp.txt «указывает файл, который является двумя каталогами над текущим каталогом.
  • «..\ TEMPDIR \tmp.txt «указывает файл с именем tmp.txt, расположенный в каталоге с именем TEMPDIR, который является однорангым каталогом для текущего каталога.

Относительные пути могут сочетать оба типа примеров, например «К:.. \tmp.txt «. Это полезно, поскольку, несмотря на то, что система отслеживает текущий диск вместе с текущим каталогом этого диска, она также следит за текущими каталогами на разных буквах диска (если в системе несколько), независимо от того, какой из обозначений установлен в качестве текущего диска.

Ограничение максимальной длины пути

в выпусках Windows до Windows 10 версии 1607 максимальная длина пути — это максимальный _ путь, который определен как 260 символов. в более поздних версиях Windows для снятия ограничения требуется изменить раздел реестра или использовать средство групповая политика. Дополнительные сведения см. в разделе ограничение максимальной длины пути .

Симптомы

При использовании специальных символов в Access вы испытываете одну из следующих проблем.

Проблема 1

В имени настольного поля используется один из следующих специальных символов:

  • Accent grave (‘)
  • Восклицательный знак (!)
  • Период (.)
  • кронштейн ([])
  • Ведущее пространство
  • Непечатаемые символы

В этом случае вы получите следующее сообщение об ошибке:

Если вы используете эти специальные символы в имени таблицы, вы получите следующее сообщение об ошибке:

Проблема 2

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

  • Если имя поля содержит символ пространства, знак вопроса (?) или знак на знаке (@), вы получите следующее сообщение об ошибке:

  • Если имя поля содержит кавычка() или апостроф(‘), вы получите следующее сообщение об ошибке:

  • Если имя поля содержит знак номера (#), вы получите следующее сообщение об ошибке:

  • Если имя поля содержит знак процента (%), tilde (~), полуколон (;) или кронштейн ([]), вы получите следующее сообщение об ошибке:

  • Если имя поля содержит скобку {} (), вы получите следующее сообщение об ошибке:

  • Если имя поля содержит скобку ([]) или скобку (()), вы получите следующее сообщение об ошибке:

Проблема 3

У вас есть запрос, содержащий выражения запросов. Выражения запросов включают поля, содержащие специальные символы. При запуске запроса вам будет назначено ввести значение параметра. Как правило, эта проблема возникает при использовании следующих специальных символов:

  • знак «больше» (>);
  • знак «меньше» (<);
  • Период (.)
  • Звездочка (*)
  • Двоеточие (:)
  • Caret (^)
  • Плюс знак (+)
  • Обратная косая черта (\)
  • Равный знак (=)
  • амперсанд (&);
  • Метка slash (/)

Работа с короткими именами файлов в командной строке

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

  1. Имя файла SFN может содержать не более 8 символов перед точкой. Если их больше, необходимо написать первые 6, затем тильду в качестве седьмого символа и число (обычно 1) в качестве восьмого. Номер отличает его от других файлов с такими же первыми шестью буквами и таким же расширением.
  2. Точки важны и должны использоваться даже для имен папок (если в имени папки есть точка). Если в длинном имени файла / каталога есть несколько точек, используется только последняя из них. Предыдущие точки следует игнорировать. Если после последней точки больше трех символов, используются только первые три.
  3. В целом:
    • Любые пробелы в именах файлов следует игнорировать при преобразовании в SFN.
    • Игнорируйте все точки, кроме последней. Не включайте никакие другие точки, как и пробелы. Используйте последнюю точку, если есть, и следующие символы (до 3). Например, для .manifest будет использоваться только .man.
    • Запятые, квадратные скобки, точки с запятой, знаки = и + заменяются подчеркиванием.
    • Регистр не важен, символы верхнего и нижнего регистра обрабатываются одинаково.

Чтобы точно узнать имена SFN или 8.3 файлов в каталоге

использование: показывает короткие имена, если они есть, и длинные имена.

или: показывает только короткие имена в исходном формате списка DIR.

В операционных системах на базе Windows NT апплеты командной строки ( cmd.exe ) принимают длинные имена файлов с подстановочными знаками (вопросительный знак и звездочка ); длинные имена файлов с пробелами должны быть экранированы (т.е. заключены в одинарные или двойные кавычки).

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