Процесс изменения имени файла в вычислении включает перевод имени файла для совместимости в уровень операционной системы. Это происходит, когда имя файла в файловой системе отображается в форме, несовместимой с операционной системой, обращающейся к нему. Такое искажение происходит, например, в компьютерных сетях, когда машина Windows пытается получить доступ к файлу на сервере Unix, и этот файл имеет имя файла, которое включает символы не действует в Windows.
Типичный пример изменения имен происходит в файловых системах VFAT в версиях Windows, начиная с Windows 95. Спецификация VFAT допускает длинные имена файлов (LFN). Для обратной совместимости с MS-DOS и более ранним программным обеспечением Windows, которое распознает имена файлов длиной не более 11 символов в формате 8.3 (т. Е. Имя файла из восьми букв, точка и трехбуквенное расширение, такое как autoexec.bat
), файлы с LFN сохраняются на диске в формате 8.3 (longfilename.txt
становится longfi ~ 1.txt
), с длинным именем файла, хранящимся в другом месте на диске.
Обычно при использовании совместимых программ Windows, которые используют стандартные методы Windows для чтения диска, подсистема ввода-вывода возвращает программе длинное имя файла, однако, если старое приложение DOS или старое приложение Windows пытается обратиться к файлу, оно будет использовать старые API-интерфейсы только для 8.3 или работать на более низком уровне и осуществлять собственный доступ к диску, что приводит к возврату имени файла 8.3. В этом случае имена файлов искажаются путем использования первых шести непробельных символов в имени файла и добавления тильды (~), а затем числа, чтобы гарантировать уникальность имени файла формата 8.3 на диске. Эта схема изменения может превратить (например) Program Files
в PROGRA ~ 1
. Этот метод сохраняется и сегодня, когда люди используют DOSBox для игры в классические игры DOS или используют Windows 3.1 вместе с играми Win16 в 64-битной Windows.
Имена файлов Unix могут содержать двоеточия или обратную косую черту, тогда как Windows интерпретирует такие символы по-другому. Соответственно, программное обеспечение может изменять файл Unix "Notes: 11 \ 04 \ 03" как "Notes_ 11-04-03", чтобы программное обеспечение Windows могло получить удаленный доступ к файлу. Другие Unix-подобные системы, такие как Samba в Unix, используют разные системы преобразования для сопоставления длинных имен файлов с DOS-совместимыми именами файлов (хотя администраторы Samba могут настроить это поведение в файле конфигурации).
MacOS Finder отображает экземпляры «: » в именах файлов и каталогов с помощью «/ ". Это связано с тем, что в классической версии Mac OS внутри в качестве разделителя пути использовался символ ":". Однако при перечислении этих файлов или каталогов с помощью эмулятора терминала отображается ":", а не символ "/".
.