Какие из предложенных символов не допустимы в имени файла укажите правильный вариант ответа
Перейти к содержимому

Какие из предложенных символов не допустимы в имени файла укажите правильный вариант ответа

  • автор:

Какие символы недопустимы в именах файлов?

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

комментировать
в избранное
aleji­ ss [16.9K]
6 лет назад

По-моему, нельзя использовать те символы, которые используются в программировании и кодировании — знаки <> | \ /: » « апостроф (верхняя запятая). Насчет * и ; не знаю.

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

Я например, чтобы не заморачиваться, использую:

верхний ряд — от Й до З

средний ряд — от Ф до Д

нижний ряд — от Я до ь

циферный ряд — от 1 до 0

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

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие

  • Расширение git lfs
  • Взаимодействие с gitea из командной строки
  • Загрузочный сервер PXE
  • Миграция с bitbucket на gitea
  • fail2ban. Основные настройки

© 2006—2023 Dmitry S. Kulyabov. This work is licensed under CC BY 4.0

Published with Hugo Blox Builder — the free, open source website builder that empowers creators.

Какие из предложенных символов не допустимы в имени файла укажите правильный вариант ответа

Символы, допустимые в коротких именах файлов, каталогов и расширениях:
буквы, цифры, символы: ~@#$%^-_()<>‘`

Символы, недопустимые в коротких именах файлов, каталогов и расширениях:
+=[]:*?;«,./\<>|’пробел’

Символы, недопустимые в длинных именах файлов, каталогов и расширениях:
/\:*?<>|

[Ссылки]

1. ДОПУСТИМЫЕ И НЕДОПУСТИМЫЕ СИМВОЛЫ В ИМЕНИ ФАЙЛА site:inn.h1.ru .

Какие из предложенных символов не допустимы в имени файла

вы можете начать с Wikipedia Filename страница. Он имеет довольно приличного размера таблицы ( сравнение ограничений имени файла) список зарезервированных символов для довольно многих файловых систем.

а также зарезервированные имена файлов, такие как CON под MS-DOS. Я помню, что был укушен этим однажды, когда я сократил include file от const.h to con.h и потратил полчаса, выясняя, почему компилятор висел. Оказывается, DOS игнорируется расширения для устройств, так что con.h было точно так же, как con , консоль ввода (что, конечно, означает, что компилятор ждал меня тип файл заголовка, прежде чем он будет продолжен).

в ОС Windows создайте файл и дайте ему недопустимый символ, например \ в имя файла. В результате вы получите всплывающее окно со всеми недопустимыми символами в имени файла.

enter image description here

хорошо, так глядя на сравнение файловых систем если вы заботитесь только о файловых системах основных игроков:

  • Windows (FAT32, NTFS): любой Юникод, кроме NUL , \ , / , : , * , » , < , >, |
  • Mac (HFS, HFS+): любой допустимый Юникод, кроме : или /
  • Linux (ext[2-4]): любой байт, кроме NUL или /

поэтому любой байт, кроме NUL , \ , / , : , * , » , < , >, | и вы не можете иметь файлы/папки называть . или .. и никаких управляющих символов (конечно).

чтобы быть более точным о Mac OS X (теперь называется MacOS) / в Finder интерпретируется как : в файловой системе Unix.

это было сделано для обратной совместимости, когда Apple переехала из классической Mac OS.

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

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

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

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

Я пишу процедуру ввода-вывода имени файла на языке ассемблера x86-16. Он занимает восемь символов (мне не нужно поддерживать длинные имена файлов) с клавиатуры и печатает их в поле ввода текста на экране.

на данный момент я разрешаю цифры, буквы верхнего/нижнего регистра, подчеркивания и дефисы.

Я хотел бы разрешить все легальные символы, но я не могу найти официальный список запрещенных символов. Здравый смысл говорит мне, что косые черты незаконны, но если бы мне пришлось догадаться, я сказал бы, что положительный характер является законным. (edit: это не так!)

Я уже игнорирую символ точки, так как мой код автоматически обрабатывает добавление точки и расширения файла.

4 ответов

краткое резюме можно найти Википедии:

  • заглавные буквы A — Z
  • цифры 0 — 9
  • пробел (хотя конечные пробелы в базовом имени или расширении считаются заполнением, а не частью имени файла, также имена файлов с пробелами в них должны быть заключены в кавычки, чтобы быть используется в командной строке DOS, и если команда DOS собрана программно, имя файла должно быть заключено в четырехкратные кавычки при просмотре как переменная в программе, строящей команду DOS.)
  • ! # $ % & ‘ ( ) — @ ^ _ `
  • » * + , / : ; < = >? \ [ ] | [9]
  • Windows / MS-DOS не имеет escape-символа оболочки
  • . (U+002E . полная остановка) в полях Имя и расширение, кроме in . и. . записи (см. ниже)
  • строчные буквы a — z (хранится как A–Z на FAT12/FAT16)
  • 0-31 управляющие символы
  • значение 127(DEL) [сомнительно – обсудить]

и вот что MS-DOS 6 руководство пользователя официально сказал

имен файлов и каталогов

  • может быть до восемь символов. Кроме того, можно включить расширение длиной до трех символов.
  • регистр не учитывается. При вводе не имеет значения, используются ли буквы верхнего или нижнего регистра.
  • может содержать только буквы от A до Z, цифры от 0 до 9 и следующие специальные символы: символ подчеркивания ( _ ), caret ( ^ ), знак доллара ( $ ), tilde (
  • он может содержать не более восьми символов.
  • оно может состоять из букв A до Z, цифры от 0 до 9 и следующие специальные символы:
  • имя не может содержать пробелы, запятые, обратную косую черту или точки (кроме точки, отделяющей имя от расширения).
  • имя не может быть одним из следующих зарезервированных имен файлов: CLOCK$, CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, LPT4, NUL и PRN.
  • имя не может совпадать с именем другого файла в каталоге.

первый байт имени не должен быть 0x20 (пробел). Короткие имена или расширения дополняются пробелами. Специальные символы ASCII 0x22 ( » ), 0x2a ( * ), 0x2b ( + ), 0x2c ( , ), 0x2e ( . ), 0x2f ( / ), 0x3a ( : ), 0x3b ( ; ), 0x3c ( < ), 0x3d ( = ), 0x3e ( >), 0x3f ( ? ), 0x5b ( [ ), 0x5c ( \ ), 0x5d ( ] ), 0x7c ( | ) не допускается.

Какие из предложенных символов не допустимы в имени файла

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

Что значит Доступным — по корректности введенного имени или по
факту существует файл или нет ?


Reindeer Moss Eater ( 2002-12-16 16:35 ) [2]

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

Проще всего пробовать его создать. try

Я имел в виду то, чтобы в имени файла содержались только допустимые символы. Как это проверить?
Если использовать try при создании, то тогда он ругнется на все, что будет не так: нет места на диске, нельзя записать в данную директорию и т.д. и т.п.
Нужна функция, которая просто обрабатывала бы строку с именем файла и выдавала True (если все ОК) или False (если строка содержит не допустимые для имени файла символы)

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


Reindeer Moss Eater ( 2002-12-16 16:53 ) [6]

Если файл предназначен для Windows, набор символов один и небольшой.
Если для тома NetWare3.x,то набор несколько иной.
А есть еще UNIX, DOS, .


Anatoly Podgoretsky ( 2002-12-16 17:01 ) [7]

Nikolai_S © (16.12.02 16:48)
Это сильно зависит от тома
На try он не ругнется, если ты после него поставишь except

В Delphi (и в ее справке) есть функция MatchesMask.

Мне нужна проверка имен файлов только в Windows. А где узнать какие символы являются недопустимыми для имен файлов в Windows? И есть ли различия для разных Windows?


Anatoly Podgoretsky ( 2002-12-19 11:15 ) [10]

У тебя проводник есть* Если есть, то пробуй переминовать и быстро у тебя будет этот список, это если конечно не хочешь покопаться у свалке у Микрософта
Но Windows это не файловая система, а ОС на которой могут быть установленные различные файловые системы. Вполне обычная с ситуация FAT, NTFS, CDFS, SMBFS


Reindeer Moss Eater ( 2002-12-19 11:16 ) [11]

Попробуй в проводнике создать файл c именем «*.txt» и сразу увидишь полный набор недопустимых символов для Windows

Спасибо. Это помогло. В проводнике высвечивается полный список недопустимых символов


Anatoly Podgoretsky ( 2002-12-19 11:35 ) [13]

Ketmar © (19.12.02 11:23)
Но ты особо не доверяй этой полноте, могут оказаться неожиданности, этот список для текущей версии файловой системы FAT

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

Но могут разрешить. Плюс есть NTFS. Плюс есть Unicode (мать его) и сомволы национадбных языков.

Куда как проще не запрещать, а разрешать: a..z, A..Z,0..9 и все. Шаг влево — шаг вправо -> попытка обмануть программу ��

2 Илайдж
Может так и проще. Но еще нужно и не только латинские символы разрешать. Так как имя файла у меня — это еще и заголовок сохраненного файла. Просто заставлять юзеров вводить отдельно заголовок и имя файла — слишком сложно для них будет. А вот если сразу ввести заголовок и сохранить данные в файл с таким же именем — то так проще. Потому и нужно запрещать ввод некоторых символов.

2 Smithson
У меня тут с после фразы «символы национадбных языков» появился еще вопрос: А что нужно сделать, чтобы разрабатываемый софт поддерживал все эти языки? Даже китайский, японский и другие примудрые языки (в которых справа налево пишут и т.д.)?

Related posts:

  1. Где взять файл сертификата для загрузки на сайт налоговой
  2. Как скачать файл с яндекс диска если превышен лимит
  3. Как скинуть фотки с компа в файле
  4. Как скопировать файл в python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *