Имя файла не может содержать

Обновлено: 03.07.2024

Первоначальный ответ: Почему при именовании файлов в Windows файл не может содержать определенные специальные символы, такие как / \ ? : *? Простой, потому что эти символы имеют другое значение для файловой системы или командной строки (где изначально были созданы правила именования файлов).

Какие символы нельзя использовать в имени файла?

Могут ли имена файлов содержать специальные символы?

Являются ли символы недопустимыми?

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

Какие из следующих символов не разрешены в имени файла в операционной системе Windows?

Не используйте следующие зарезервированные имена для имени файла: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4. , LPT5, LPT6, LPT7, LPT8 и LPT9. Также избегайте этих имен, за которыми сразу следует расширение; например, NUL.

Почему в именах файлов нельзя использовать специальные символы?

Потому что приложения, которые вы используете для имен файлов, плохо закодированы. Специальные символы, такие как нуль, не допускаются в файловой системе Linux, Mac или Windows по умолчанию, поскольку разработчики файловой системы решили не допускать произвольные символы из эстетических соображений.

Каковы правила именования файла?

Рекомендации по присвоению имен файлам. Файлы должны иметь одинаковые имена. Имена файлов должны быть короткими, но описательными ( Сколько символов разрешено в именах файлов?

NTFS позволяет каждому компоненту пути (каталогу или имени файла) иметь длину 255 символов.

Как исправить неверное имя файла?

Как исправить ошибку с допустимым именем файла на OnDrive? Удалите все неподдерживаемые символы из имени файла. Переименуйте файл, который не может быть обновлен, с более коротким именем. Переименуйте папки, в которых у вас есть файл, расположенный на вашем жестком диске. Переместите файл по другому пути на вашем ПК.

Какие символы нельзя использовать при создании папки?

Они специально не разрешены, потому что у них есть другое применение: \ — зарезервировано для использования в качестве разделителя пути и escape-символа. / — зарезервировано для использования в качестве разделителя пути. : — зарезервировано для использования в качестве разделителя имени диска. * а также ? – Зарезервировано для использования в качестве подстановочных знаков. ” – зарезервировано для использования в кавычках имен, содержащих пробелы.

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

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

Следующие символы являются зарезервированными и не могут использоваться в JSON. Для использования в строках их необходимо правильно экранировать. Backspace заменить на \b. Поток формы следует заменить на \f. Новая строка заменяется на \n. Возврат каретки заменяется на \r. Табуляцию заменить на \t.

Почему в Java недопустимый символ?

Исключение JavaScript "недопустимый символ" возникает при наличии недопустимого или неожиданного токена, который не принадлежит этой позиции в коде.

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

В python, если вы запустите код, вы можете получить недопустимый символ python в ошибке идентификатора из-за некоторого символа в середине имени переменной Python, функции. Или чаще всего мы получаем эту ошибку, потому что вы скопировали какой-то форматированный код с любого веб-сайта. Чтобы устранить этот недопустимый символ в идентификаторе python 16 октября 2021 г.

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

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

Какой из следующих символов нельзя использовать при именовании файла в MS Access?

Какие символы нельзя использовать в имени файла Mac?

Есть только два символа, которые вы не можете использовать: один из них — двоеточие (поскольку он используется системой).

Какой символ нельзя использовать в именах файлов в Excel?

C, c, R, r — нельзя использовать в качестве имен — Excel использует их как ярлыки для выбора.

Каких символов следует избегать в имени файла quizlet?

-При включении личного имени в имя файла сначала укажите фамилию, а затем инициалы. - Избегайте использования таких слов, как черновик или буква, в качестве начала имени файла. Вы только что изучили 6 терминов!.

Какие специальные символы не допускаются?

Вы можете называть файлы, используя практически любые символы в качестве имени, за исключением следующих зарезервированных символов: : ” / \ | ? * Максимальная длина пути — 255 символов. Это ограничение включает букву диска, двоеточие, обратную косую черту, каталоги, подкаталоги, имя файла и расширение.

Какой атрибут файла означает, что файл или папка не видны пользователю?

Скрытый (H): если установлено, указывает, что файл хостинга скрыт.Команды MS-DOS, такие как dir, и приложения Windows, такие как File Explorer, по умолчанию не отображают скрытые файлы, если только об этом не попросят.

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

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

Какие четыре правила именования файлов и папок на вашем веб-сайте?

Рекомендации по именованию HTML-файлов и папок Имена HTML-файлов должны заканчиваться суффиксом «.html» или «.htm». Имя файла должно содержать не более 32 символов, включая суффикс файла «.html» или «.htm». Первым символом имени файла должна быть буква.

Однако мне нужно подробное руководство, учитывающее двухбайтовые символы. Ссылки на внешние ресурсы меня не устраивают.

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

Некоторые символы, которые вы упомянули, действительно разрешены в Windows. Проверьте это: echo abc > "ab.;,=[1]"

@DavidC.Bishop: В этом сообщении SO утверждается, что ядро ​​Linux не позволит вам работать с именем файла, содержащим косую черту. Удалось ли вам заставить это работать?

«/ не является незаконным в Linux. Вам просто нужно экранировать его с помощью \ при вводе» — это утверждение совершенно неверно. Компоненты имени файла не могут содержать /, и его экранирование не имеет никакого эффекта.

19 ответов 19

Давайте не будем усложнять и сначала ответим на вопрос.

Непечатаемые символы

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

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

Зарезервированные имена файлов

Следующие имена файлов зарезервированы:

(как сами по себе, так и с произвольными расширениями файлов, например LPT1.txt ).

Другие правила

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

Вы не просили об этом, но на всякий случай: двоеточие : и косая черта / в зависимости от контекста не разрешены (например, Finder поддерживает косые черты, терминал поддерживает двоеточия). (Подробнее)

Новые строки не запрещены в Linux. Хотя я бы сказал, что они должны быть. и если NUL запрещен в Linux, то он запрещен и в Windows, он служит той же цели.

@Soaku: конечно, нет, поскольку мир не вращается вокруг Microsoft. Зачем добавлять ненужные ограничения, когда есть только два символа, которые абсолютно необходимо запретить?

@firegurafiku «/» — это просто условность — имена каталогов в любом случае хранятся отдельно друг от друга, поэтому «/» может без проблем появляться в именах (если разрешено). Если используется в имени каталога/файла внутри пути, он должен быть экранирован, но это относится и ко многим другим символам. Работа с '\0' потребует отдельного хранения длины строки везде, что на самом деле сложнее.

"В большинстве дистрибутивов Linux вы можете назвать файл с помощью косой черты." -- Нет, нельзя. '/' всегда рассматривается ядром, а не только оболочкой, как разделитель каталогов. Невозможно обойти это с помощью программы C, скрипта Python или любого другого способа.

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

Windows не различает символы верхнего и нижнего регистра, поэтому вы не можете создать папку с именем A, если папка с именем a уже существует. Хуже того, кажущиеся разрешенными имена, такие как PRN и CON и многие другие, зарезервированы и не разрешены. Windows также имеет несколько ограничений по длине; имя файла, действительное в одной папке, может стать недействительным при перемещении в другую папку. Правила именования файлов и папок находятся в документах Microsoft.

Как правило, вы не можете использовать пользовательский текст для создания имен каталогов Windows. Если вы хотите разрешить пользователям называть все, что они хотят, вы должны создать безопасные имена, такие как A , AB , A2 и др., хранить сгенерированные пользователем имена и эквиваленты их путей в файле данных приложения и выполнять сопоставление путей в вашем приложении. .

Если вам абсолютно необходимо разрешить имена папок, созданные пользователями, единственный способ определить, являются ли они недействительными, – перехватить исключения и предположить, что имя недействительно.Даже это чревато опасностью, поскольку исключения, создаваемые для отказа в доступе, автономных дисков и нехватки места на диске, пересекаются с исключениями, которые могут создаваться для недопустимых имен. Вы открываете огромную банку боли.

Ключевая фраза из ссылки MSDN: «[и] любой другой символ, который не разрешен целевой файловой системой». В Windows могут быть разные файловые системы. Некоторые могут разрешать Unicode, другие — нет. Как правило, единственный безопасный способ проверить имя — попробовать его на целевом устройстве.

Есть некоторые рекомендации, и "существует бесконечное количество имен, состоящих только из допустимых запрещенных символов" неконструктивно. Точно так же «Windows не различает символы верхнего и нижнего регистра» является глупым исключением — ОП спрашивает о синтаксисе, а не о семантике, и ни один здравомыслящий человек не скажет, что имя файла например, файл A.txt был недействительным, поскольку файл .TXT может существовать.

COPY CON PRN означает чтение с клавиатуры или, возможно, стандартного ввода и копирование на принтер. Не уверен, что это все еще действует в современных окнах, но определенно было в течение длительного времени. В старые времена вы могли использовать его для ввода текста, а матричный принтер просто выводил его.

@JimBalter Если я не ошибаюсь, это неконструктивно, потому что «бесконечное количество имен, состоящих только из допустимых запрещенных символов» довольно бессмысленно, если правила для имен файлов четко определены и сами по себе не бесконечны. Ничто в этом ответе не оправдывает описание возможностей как бесконечных таким образом, чтобы это было полезно или полезно для читателя. Например. сравните следующее: (1) В Linux «/» не допускается. (2) Полное руководство для Linux невозможно, потому что существует бесконечное количество запрещенных имен, например. "/", "//", "///", "а/а", "б/б" и т. д.

В Linux и других системах, связанных с Unix, есть только два символа, которые не могут использоваться в имени файла или каталога: NUL '\0' и косая черта '/' . Косая черта, конечно, может появляться в имени пути, разделяя компоненты каталога.

Ходят слухи, что у Стивена Борна (известного как «оболочка») был каталог, содержащий 254 файла, по одному на каждую букву (код символа), которая может встречаться в имени файла (исключая / , '\0' ; имя . было текущим каталогом, конечно). Он использовался для тестирования оболочки Bourne и регулярно наносил ущерб неосторожным программам, таким как программы резервного копирования.

Другие люди рассмотрели правила для имен файлов Windows со ссылками на Microsoft и Википедию по этой теме.

Обратите внимание, что в MacOS X файловая система нечувствительна к регистру. Текущие версии позволяют двоеточие : в именах файлов, хотя исторически это не всегда было так:

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

Когда Стив Борн писал свою оболочку Unix (известную как оболочка Борна), он создал каталог из 254 файлов с односимвольными именами, по одному для каждого значения байта, кроме '\0' и косая черта, два символа, которые не могут использоваться в именах файлов Unix. Он использовал этот каталог для всевозможных тестов сопоставления с образцом и токенизации. (Разумеется, каталог test был создан программой.) В течение многих лет этот каталог был проклятием для программ обхода дерева файлов; он испытал их на прочность.

Обратите внимание, что каталог должен содержать записи. и .. , так что, возможно, это было 253 файла (и 2 каталога) или 255 записей имен, а не 254 файла. Это не влияет на эффективность анекдота или на описанное в нем тщательное тестирование.

У меня есть сайт sharepoint, на котором, когда мы идем, чтобы прикрепить файл к элементу в списке, мы получаем ошибку, что имя файла не может содержать следующие символы, и он продолжает список недопустимых символов. Дело в том, что путь и имя файла не содержат этих символов, и я даже сделал новый файл с именем test.txt, и он все равно не загружал вложение.

BigZ

Угрозы кибербезопасности и потребность в надежном резервном копировании

2022-03-29 18:00:00 UTC Вебинар Вебинар: Spanning — угрозы кибербезопасности и потребность в надежном резервном копировании Сведения о событии Просмотреть все события

1 ответ

BigZ

Я обнаружил, что проблема, по-видимому, в кодировании точки доступа, если вы попали прямо в список и прикрепили его туда, а не нажимали кнопку редактирования, все работает нормально

Эта тема заблокирована администратором и больше не открыта для комментариев.

Чтобы продолжить обсуждение, задайте новый вопрос.

Что бы вы сделали?

Итак, я работаю в MSP, который работает круглосуточно и без выходных. Старший инженер в нежелательную смену с 23:00 до 8:00 уходит. Теперь у меня есть возможность перейти на эту должность, насколько больше это потребует компенсации в процентах от того, что я зарабатываю сейчас? и я скажу это.

Щелкни! Lapsus$, Excel RAT, Honda Hackers, Lunar Landers, Windows Easter Egg

Ваша ежедневная доза технических новостей. Вы должны это услышать. Подозреваемые Lapsus$ арестованы за взломы Microsoft, Nvidia, Okta. Больше информации о группе Lapsus$, ответственной за ряд недавних кибератак. Несколько из группы».

Искра! Серия Pro — 25 марта 2022 г.

Friday Из бесплатной энциклопедии Википедии. Другие значения см. в Friday (значения). Пятница — день недели между четвергом и субботой. В странах, принимающих обычай "понедельник-первый".

Имя файла и резервный вариант не могут содержать символ "\/" и "\\" символов.\n\n

Вот как я пытаюсь загрузить файл: \n

return Storage::disk('s3')->download($path, $name, [\n "Content-type" => "text\/csv",\n ]);\ п\п

Покажите точный код для $path и $name\n","bodyInMarkdown":"Покажите точный код для $path и $name","replies":[

$name = 'файл-' . $item->имя . '.' . $item->data->file_type;\n$path = $item->data->path;\n \n

А, вот и мы. В $name не должно быть косых черт. Убедитесь, что это простое имя без специальных символов. Например, вы можете сделать. \n

А, вот и мы. В $name не должно быть косых черт. Убедитесь, что это простое имя без специальных символов. Например, вы можете сделать. \n

Рассмотрите такую ​​простую задачу, как прикрепление счета к электронному письму и отправка его определенному пользователю. Это невероятно распространенная задача, и тем не менее, она требует много-много шагов. Как должен выглядеть счет-фактура? Как вы программно сохраняете его в формате PDF? Как прикрепить его к электронному письму? Как проверить правильность отправки уведомления?

Если вам интересно, приходите, пока я работаю над этой задачей для кодовой базы Laracasts. ","path":"\/series\/сложности-отправки-счета","strippedBody":"Рассмотрите такую ​​простую задачу, как прикрепление счета к электронному письму и отправка его конкретному пользователю. Это невероятно распространенная задача, и тем не менее, она требует много-много шагов. Как должен выглядеть счет-фактура? Как вы программно сохраняете его в формате PDF? Как прикрепить его к электронному письму? Как вы можете проверить правильность отправки уведомления? Если вам интересно, приходите, пока я работаю над этой самой задачей для кодовой базы Laracasts.","thumbnail":"https:\/\/laracasts.nyc3.cdn. digitaloceanspaces.com\/series\/thumbnails\/сложности отправки-счета.jpg","large_thumbnail":"https:\/\/laracasts.s3.amazonaws.com\/series\/thumbnails\/ социальные карты\/сложности отправки-счета.jpg","svgThumbnail":"https:\/\/laracasts.nyc3.cdn.digitaloceanspaces.com\/series\/thumbnails\/svg\/сложности -of-sending-an-invoice.svg","slug":"сложности-отправки-invoice","episodeCount":5,"difficultyLevel":"Advanced","customUrl":null,"version ":null,"version_notes":null,"complete":1,"wallpaper":"https:\/\/laracasts.nyc3.digitaloceanspaces.com\/series\/wallpapers\/Intricacies-of-Sending-an- Invoice.zip","в архиве":0,"runTime":"38m","таксономия":,"hasChapters":false,"isLarabit":0,"viewingStatus":,"прогресс":,"lastUpdated": "27 января 2022 г.">,

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

Читайте также: