Должны ли имена файлов содержать несколько периодов?


17

Я часто называю файлы, используя соглашение, так что в конце я добавляю номер версии, аналогично Some Deliverable - v0.1.docx. Иногда, когда коллеги вносят изменения и отправляют пересмотренные версии, они обновляют этот номер версии, но они также заменяют дополнительный период пробелом, например Some Deliverable - v0 2.docx.

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

Если это пережиток дней до Windows 95 или еще чего-то, то я не волнуюсь, но если это что-то, что, например, вызывает проблемы при совместном использовании файла пользователем Mac или пользователем iPad? - или пользователь Linux, тогда я поменяю свои пути и придерживаюсь одного периода в имени файла перед расширением.


5
У меня никогда не было проблем с использованием нескольких точек в именах файлов. Ни под GNU / linux (ext2 fs), ни во FreeBSD, ни в Windows (FAT32 и NTFS). Доступ к таким файлам через сеть Samba всегда работал. Я сильно подозреваю, что нет проблем.
— Хеннес

2
Особенно учитывая , что пользователи Linux и OS X имели дело с файлами имени something-v1.23.4-something.tar.gz.sigна годы без каких - либо проблем ...
— user1686

2
i.dont.even.know.if.youre.serious.or.trolling.mr.ebgreen ...
— user1686

1
Предупреждение о множественных расширениях было для окон. В конфигурации windows [explorer] по умолчанию «some_virus.jpg.exe» будет отображаться как безобидный файл изображения с именем «some_virus.jpg».
— Хеннес

1
@Hennes: Это может быть , что некоторые из них не заметили этого , потому что они не знают ли их почтовую программа отличия «расширения скрыть» настройку или нет при перечислении вложений.
— user1686

Ответы:


15

теория

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

Что касается современной файловой системы, такого понятия, как расширение, не существует. Точка - это персонаж, как и любой другой. GUI рассматривает все, что следует за последним периодом, как расширение файла.

Линукс всегда так себя вел.

практика

SharePoint , ProFTP , TransferText , Symphony , KVR Audio и serveir имеют или имели некоторые проблемы с несколькими периодами в именах файлов.

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


3
В некотором смысле, есть это такая вещь , как расширение, и он имеет очень похожий лечение в обеих ОС Windows и Unix - в частности, он широко используется в ГПИ (практически каждый файловый менеджер Linux GUI), в основном , чтобы решить , какой тип файла и значок, чтобы показать, избегая дорогих тестов "магическое число"; однако, практически не имеет значения в CLI, где пользователь сам выбирает программу. Да, даже в Windows расширение .exe не имеет значения в командной строке; Вы можете назвать файл, notepad.jpgи он все равно будет работать.
— user1686

1
Однако с момента появления LFN расширение больше не отделено от имени файла - даже в Windows точка - это символ, как и любой другой.
— user1686

@ Grawity: Это более или менее то, что я хотел написать (хотя и не вышло): Расширения стали простым соглашением в Windows, то есть они больше не являются частью файловой системы. Это notepad.jpgинтересно.
— Деннис

Что бы это ни стоило, исполняемые файлы, скомпилированные для Windows, до сих пор имеют магическое число 5A 4D (MZ), которое является наследием Марка Збиковски, создавшего формат.
— EBGreen

Хм. SharePoint или один из других продуктов, упомянутых здесь, вполне могут быть виновником; если коллеги хотели загружать файлы и у них были проблемы из-за нескольких периодов, возможно, поэтому они опасаются их использовать. Это может быть ошибкой, но в результате мы все еще должны обойти это ...
— sernaferna

4

Многократные точки не были проблемой в Windows начиная с Windows 95, а в других операционных системах даже дольше.

(Я никогда не использую периоды, потому что я ненавижу добавлять кавычки ""в терминале впоследствии. Но это не точка вашего вопроса.)

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


3
В каком терминале нужно добавлять кавычки вокруг имен файлов с (несколькими) точками?
— Себастьян

2

Я только что обнаружил проблему под Windows Corporate XP SP3, как это. В принципе, я могу иметь столько периодов, сколько захочу, если имя файла не начинается с точки.

Пример:

.ILS.files.in.use.DFS.20140515.0700.csv

(Файл скопирован из Unix FS в Windows, это верное имя файла под Unix, я считаю)

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

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

ILS.files.in.use.DFS.2014.05.15.0700.csv

Это просто ограничение (ну, ошибка IMHO) с Windows Explorer. Даже командная строка ( renкоманда) может обрабатывать имена файлов, начиная с точки.
— Даниэль Б,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.