- Существует ли предел длины имени файлов в Windows
- Мир цифровой информации
- Понятия «путь» и «имя файла»
- Зарезервированные символы и имена
- Ограничения на длины имен файлов и путей
- Обзор файловой системы NTFS NTFS overview
- повышенная надежность; Increased reliability
- Повышенная безопасность Increased security
- Поддержка больших томов Support for large volumes
- Требования к форматированию для больших файлов Formatting requirements for large files
- Максимальная длина имени файла и пути к файлу Maximum file name and path
- Динамическое выделение емкости Flexible allocation of capacity
Существует ли предел длины имени файлов в Windows
Во всех операционных системах и для всех файловых систем существуют определённые лимиты на:
- размер имени файла
- на полный путь файла (который включает папки и подпапки)
Операционная система Windows не является исключением, в ней длина имени файла или папки ограничена 255 символами, а вся длина пути ограничена примерно 32,000 символами.
Имеется ряд исключений, когда разрешённая длина файла должна быть меньше этих значений:
- предыдущие версии Windows
- сетевые диски
- оптические диски CD и DVD
К сожалению, Windows весьма «молчалив» в ситуациях, когда возникают проблемы с длиной имени файла или пути на сетевых носителях. В результате, часть файлов может отображаться нормально, а часть отсутствовать. Если файлов много, то не всегда просто понять, все ли они на месте. Признаками того, что некоторые файлы на сетевой папке имеют слишком длинное имя является:
- отсутствует файл, который точно должен быть или который виден при подключении диска напрямую (а не через сеть)
- при создании файла возникает ошибка, что такой файл уже существует, хотя его не видно
При поиске по файлам средствами ОС, эти файлы также недоступны для индексации и поиска по ним.
Все программы, от стандартного проводника Windows до сторонних файловых менеджеров не способны увидеть эти файлы со слишком длинными именами, при этом каких-либо ошибок не возникает.
Подтвердить проблему слишком длинного имени на сетевом носителе можно командой вида:
вызывает следующую ошибку из-за того, что в папке имеется файл со слишком длинным именем:
Если вы работаете с сетевым диском и он подключён к Linux, то вам может помочь инструкция «Как найти имена файлов, чья длина превышает определённое значение».
В остальных случаях, попробуйте следующие советы:
1. (если слишком длинный путь до файла) Вначале скопируйте папку на более высокие уровни в windows эксплорере и затем переместите их на ваш локальный компьютер
2. (если имена файлов слишком длинные) Вначале попробуйте поместить их в архив программами zip/rar/7z и затем скопируйте файл архива на свой локальный компьютер и извлеките его содержимое
3. Попробуйте встроенную программу ROBOCOPY:
4. Попробуйте перед путём добавить \\?\
5. Используйте сторонне программное обеспечение (о нём далее)
FastCopy — это проект с открытым исходным кодом на C, написанный SHIROUZU Hiroaki и это «Самое быстрое программное обеспечение для копирования/удаления файлов на Windows.» Программа поддеррживает UNICODE и более чем MAX_PATH (260 символов) в путях имён файлов.
Если имеются сотни путей, которые слишком долго исправлять, то используйте инструмент «Path Tool Long Auto Fixer».
Мир цифровой информации
Если вам кажется, что нет ничего проще, чем придумать имя для файла или папки, то скорее всего вы ошибаетесь. Существуют правила из-за которых нельзя назвать файл любым именем как обычный физический предмет. Для начала проясним, что такое имя файла, и как оно используется.
Понятия «путь» и «имя файла»
Очень часто в компьютерной литературе используются термины «путь» и «имя файла» под разными значениями. Обычно под словом «путь» понимают адрес или расположение файла, т. е. диск, папка и подпапки в которых расположен файл. Однако 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 символов.
Обзор файловой системы NTFS NTFS overview
Применяется к: Windows 10, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008 Applies to: Windows 10, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2, Windows Server 2008
NTFS — основная файловая система в последних версиях Windows и Windows Server — предоставляет полный набор возможностей, включая дескрипторы безопасности, шифрование, дисковые квоты и расширенные метаданные. Ее можно использовать с общими томами кластера (CSV) для предоставления томов непрерывной доступности, доступ к которым можно осуществлять одновременно с нескольких узлов отказоустойчивого кластера. NTFS—the primary file system for recent versions of Windows and Windows Server—provides a full set of features including security descriptors, encryption, disk quotas, and rich metadata, and can be used with Cluster Shared Volumes (CSV) to provide continuously available volumes that can be accessed simultaneously from multiple nodes of a failover cluster.
Дополнительные сведения о функциях см. в этом разделе далее в этой статье. For additional feature information, see the Additional information section of this topic. См. сведения о новой системе Resilient File System (ReFS). To learn about the newer Resilient File System (ReFS), see Resilient File System (ReFS) overview.
повышенная надежность; Increased reliability
NTFS использует файл журнала и сведения о контрольных точках для восстановления согласованности файловой системы при перезагрузке компьютера после сбоя системы. NTFS uses its log file and checkpoint information to restore the consistency of the file system when the computer is restarted after a system failure. После ошибки поврежденного сектора NTFS динамически изменяет конфигурацию кластера, содержащего поврежденный сектор, выделяет новый кластер для данных, отмечает исходный кластер как поврежденный и больше не использует старый кластер. After a bad-sector error, NTFS dynamically remaps the cluster that contains the bad sector, allocates a new cluster for the data, marks the original cluster as bad, and no longer uses the old cluster. Например, после сбоя сервера NTFS может восстановить данные путем воспроизведения файлов журнала. For example, after a server crash, NTFS can recover data by replaying its log files.
NTFS непрерывно отслеживает и исправляет временные проблемы повреждения в фоновом режиме, не переводя том в автономный режим (эта функция, введенная в Windows Server 2008, известна как NTFS с самовосстановлением). NTFS continuously monitors and corrects transient corruption issues in the background without taking the volume offline (this feature is known as self-healing NTFS, introduced in Windows Server 2008). При значительных проблемах с повреждением программа Chkdsk в Windows Server 2012 и более поздних версиях сканирует и анализирует диск, пока том подключен, ограничивая время автономной работы временем, необходимым для восстановления целостности данных в томе. For larger corruption issues, the Chkdsk utility, in Windows Server 2012 and later, scans and analyzes the drive while the volume is online, limiting time offline to the time required to restore data consistency on the volume. Когда NTFS используется с CSV, простои не требуются. When NTFS is used with Cluster Shared Volumes, no downtime is required. Дополнительные сведения см. в статье NTFS Health and Chkdsk (Работоспособность NTFS и Chkdsk). For more information, see NTFS Health and Chkdsk.
Повышенная безопасность Increased security
Безопасность на основе списка управления доступом (ACL) для файлов и папок. NTFS позволяет устанавливать разрешения для файла или папки, указывать группы и пользователей, чей доступ требуется ограничить или разрешить, и выбрать тип доступа. Access Control List (ACL)-based security for files and folders—NTFS allows you to set permissions on a file or folder, specify the groups and users whose access you want to restrict or allow, and select access type.
Поддержка шифрования диска BitLocker. Шифрование диска BitLocker обеспечивает дополнительную безопасность важных системных сведений и других данных, хранящихся на томах NTFS. Support for BitLocker Drive Encryption—BitLocker Drive Encryption provides additional security for critical system information and other data stored on NTFS volumes. Начиная с Windows Server 2012 R2 и Windows 8.1, BitLocker поддерживает шифрование устройств на компьютерах с архитектурой x86 и x64 с доверенным платформенным модулем, который поддерживает режим ожидания с подключением (ранее доступный только на устройствах Windows RT). Beginning in Windows Server 2012 R2 and Windows 8.1, BitLocker provides support for device encryption on x86 and x64-based computers with a Trusted Platform Module (TPM) that supports connected stand-by (previously available only on Windows RT devices). Шифрование устройств помогает защитить данные на компьютерах под управлением Windows и помогает предотвратить доступ пользователей-злоумышленников к системным файлам, которые они используют для обнаружения пароля, или к диску путем физического удаления его с компьютера и установки в другой компьютер. Device encryption helps protect data on Windows-based computers, and it helps block malicious users from accessing the system files they rely on to discover the user’s password, or from accessing a drive by physically removing it from the PC and installing it on a different one. Дополнительные сведения см. в статье What’s New in BitLocker (Новые возможности BitLocker). For more information, see What’s new in BitLocker.
Поддержка больших томов Support for large volumes
NTFS может поддерживать тома размером до 8 ПБ в версии Windows Server 2019 и выше и Windows 10 версии 1709 и выше (более ранние версии поддерживают до 256 ТБ). NTFS can support volumes as large as 8 petabytes on Windows Server 2019 and newer and Windows 10, version 1709 and newer (older versions support up to 256 TB). Поддерживаемые размеры томов зависят от размера кластеров и их количества. Supported volume sizes are affected by the cluster size and the number of clusters. Для кластеров (2 32 –1) (максимальное число кластеров, поддерживаемое NTFS) поддерживаются следующие размеры томов и файлов. With (2 32 – 1) clusters (the maximum number of clusters that NTFS supports), the following volume and file sizes are supported.
Размер кластера Cluster size | Самый крупный том и файл Largest volume and file |
---|---|
4 КБ (размер по умолчанию) 4 KB (default size) | 16 ТБ 16 TB |
8 КБ 8 KB | 32 ТБ 32 TB |
16 КБ 16 KB | 64 ТБ 64 TB |
32 КБ 32 KB | 128 ТБ 128 TB |
64 КБ (предыдущий максимальный размер) 64 KB (earlier max) | 256 ТБ 256 TB |
128 КБ 128 KB | 512 ТБ 512 TB |
256 KB 256 KB | 1 ПБ 1 PB |
512 КБ 512 KB | 2 ПБ 2 PB |
1024 КБ 1024 KB | 4 ПБ 4 PB |
2048 КБ (максимальный размер) 2048 KB (max size) | 8 ПБ 8 PB |
Обратите внимание, что при попытке подключить том с размером кластера, который превышает поддерживаемый максимум используемой версии Windows, вы получите ошибку STATUS_UNRECOGNIZED_VOLUME. Note that if you try to mount a volume with a cluster size larger than the supported maximum of the version of Windows you’re using, you get the error STATUS_UNRECOGNIZED_VOLUME.
Службы и приложения могут накладывать дополнительные ограничения на размер файлов и томов. Services and apps might impose additional limits on file and volume sizes. Например, ограничение размера тома составляет 64 ТБ, если вы используете функцию предыдущих версий или приложение резервного копирования, которое использует моментальные снимки службы теневого копирования томов (и не используете сеть SAN или RAID). For example, the volume size limit is 64 TB if you’re using the Previous Versions feature or a backup app that makes use of Volume Shadow Copy Service (VSS) snapshots (and you’re not using a SAN or RAID enclosure). Тем не менее, может потребоваться использовать тома меньшего размера в зависимости от рабочей нагрузки и производительности хранилища. However, you might need to use smaller volume sizes depending on your workload and the performance of your storage.
Требования к форматированию для больших файлов Formatting requirements for large files
Есть новые рекомендации по форматированию томов в отношении правильного расширения больших файлов VHDX. To allow proper extension of large .vhdx files, there are new recommendations for formatting volumes. В ходе форматирования томов, которые будут использоваться при дедупликации данных, или при размещении очень больших файлов, таких как файлы VHDX размером больше 1 ТБ, используйте в Windows PowerShell командлет Format-Volume со следующими параметрами. When formatting volumes that will be used with Data Deduplication or will host very large files, such as .vhdx files larger than 1 TB, use the Format-Volume cmdlet in Windows PowerShell with the following parameters.
Параметр Parameter | Описание Description |
---|---|
-AllocationUnitSize 64KB -AllocationUnitSize 64KB | Задает размер единицы распределения NTFS 64 КБ. Sets a 64 KB NTFS allocation unit size. |
-UseLargeFRS -UseLargeFRS | Включает поддержку сегментов записей больших файлов (FRS). Enables support for large file record segments (FRS). Это необходимо для увеличения количества экстентов, допустимых для каждого файла в томе. This is needed to increase the number of extents allowed per file on the volume. Для больших записей FRS ограничение увеличивается с примерно 1 500 000 до 6 000 000 экстентов. For large FRS records, the limit increases from about 1.5 million extents to about 6 million extents. |
Например, следующий командлет форматирует диск D как том NTFS с включенными FRS и размером единицы распределения 64 КБ. For example, the following cmdlet formats drive D as an NTFS volume, with FRS enabled and an allocation unit size of 64 KB.
Можно также использовать команду format. You also can use the format command. В системной командной строке введите следующую команду, где /L форматирует большой том FRS, а /A:64k задает размер единицы распределения 64 КБ: At a system command prompt, enter the following command, where /L formats a large FRS volume and /A:64k sets a 64 KB allocation unit size:
Максимальная длина имени файла и пути к файлу Maximum file name and path
NTFS поддерживает длинные имена файлов и пути увеличенной длины со следующими максимальными значениями: NTFS supports long file names and extended-length paths, with the following maximum values:
Поддержка длинных имен файлов с обратной совместимостью. NTFS допускает длинные имена файлов, сохраняя псевдоним 8.3 на диске (в кодировке Юникод), чтобы обеспечить совместимость с файловыми системами, которые накладывают ограничение 8.3 на имена и расширения файлов. Support for long file names, with backward compatibility—NTFS allows long file names, storing an 8.3 alias on disk (in Unicode) to provide compatibility with file systems that impose an 8.3 limit on file names and extensions. При необходимости (по соображениям производительности) можно выборочно отключить именование 8.3 на отдельных томах NTFS в Windows Server 2008 R2, Windows 8 и более поздних версиях операционной системы Windows. If needed (for performance reasons), you can selectively disable 8.3 aliasing on individual NTFS volumes in Windows Server 2008 R2, Windows 8, and more recent versions of the Windows operating system. В Windows Server 2008 R2 и более поздних версий короткие имена по умолчанию отключены при форматировании тома с помощью операционной системы. In Windows Server 2008 R2 and later systems, short names are disabled by default when a volume is formatted using the operating system. Для совместимости приложений на системном томе все еще включены короткие имена. For application compatibility, short names still are enabled on the system volume.
Поддержка путей увеличенной длины. Многие функции API Windows поддерживают версии Юникода, позволяющие использовать расширенный путь длиной приблизительно 32 767 символов, а не ограниченный по длине в 260 символов, что определяется параметром MAX_PATH. Support for extended-length paths—Many Windows API functions have Unicode versions that allow an extended-length path of approximately 32,767 characters—beyond the 260-character path limit defined by the MAX_PATH setting. Подробные требования к именам файлов и формату путей, а также рекомендации по реализации путей увеличенной длины см. в статье Naming Files, Paths, and Namespaces (Имена файлов, пути и пространства имен). For detailed file name and path format requirements, and guidance for implementing extended-length paths, see Naming Files, Paths, and Namespaces.
Кластерное хранилище. При использовании в отказоустойчивых кластерах NTFS поддерживает постоянно доступные тома, к которым могут одновременно обращаться несколько узлов кластера при использовании совместно с файловой системой CSV. Clustered storage—When used in failover clusters, NTFS supports continuously available volumes that can be accessed by multiple cluster nodes simultaneously when used in conjunction with the Cluster Shared Volumes (CSV) file system. Дополнительные сведения см. в статье Use Cluster Shared Volumes in a Failover Cluster (Использование общих томов кластера в отказоустойчивом кластере). For more information, see Use Cluster Shared Volumes in a Failover Cluster.
Динамическое выделение емкости Flexible allocation of capacity
Если пространство тома ограничено, NTFS предоставляет следующие возможности для работы с емкостью хранилища сервера: If the space on a volume is limited, NTFS provides the following ways to work with the storage capacity of a server:
- применение дисковых квот для отслеживания и контроля использования дискового пространства в томах NTFS для отдельных пользователей; Use disk quotas to track and control disk space usage on NTFS volumes for individual users.
- сжатие файловой системы, чтобы максимально увеличить объем хранимых данных; Use file system compression to maximize the amount of data that can be stored.
- увеличение размера тома NTFS возможно путем добавления нераспределенного пространства с того же или с другого диска; Increase the size of an NTFS volume by adding unallocated space from the same disk or from a different disk.
- подключение тома к любой пустой папке на локальном томе NTFS, если использованы все буквы диска или необходимо создать дополнительное пространство, доступное из существующей папки. Mount a volume at any empty folder on a local NTFS volume if you run out of drive letters or need to create additional space that is accessible from an existing folder.