У каждого ограниченного символа есть другое значение или использование, поэтому, если имя файла или папки действительно содержит их, это может привести к возникновению Bad Things ™. Не возражаете, если я спрошу, почему вы пытаетесь это сделать?
DMA57361
@ DMA57361, когда я делал это несколько лет назад, я проверял некоторые вещи. Если я правильно помню, результаты были забавными, но я не помню ничего особенно плохого . Самое большее, я просто не мог получить к ним доступ. (Хотя я полагаю, что это может вызвать проблемы, если, например, у вас есть файлы с именами a, bи вы a>btype a>b
пытаетесь
@moorecast, когда я делал это несколько лет назад, я создавал файлы / каталоги с фиктивными именами, а затем использовал редактор дисков, чтобы вручную устанавливать имена в записях каталога. Конечно, это было на томе FAT32, так что это было очень легко. Это было бы немного сложнее на томе NTFS.
Synetech
2
Mind if I ask why you are trying to do this?Может быть, реализовать (плохую) защиту от копирования ?
Synetech
«Мне нужно создать файл с именем файла, например:>?» - Сомневаюсь, что тебе нужно это сделать.
Джим Балтер
Ответы:
14
К сожалению, вы не можете использовать зарезервированные символы при создании папок или файлов, поскольку они являются частью системных функций.
То, что я рекомендую вам сделать, это просмотреть Character Mapприложение - вы можете запустить и набрать charmap.
отсюда вы можете найти альтернативные символы, которые выглядят одинаково, например:
(скопируйте и вставьте их, вы увидите, что они разные)
Вместо косой черты /- вы можете использовать символ деления∕
Вместо двоеточия :- вы можете использовать модификатор буквы двоеточия꞉
@Arjan - только через командную строку .. даже тогда вы можете использовать клавишу табуляции для автозаполнения.
Уильям Хилсум
4
/косая черта - не обратная косая черта
приостановлена до дальнейшего уведомления.
1
Я использовал этот трюк для определенных ситуаций, например, когда мне нужно поставить вопрос в имени файла ( почему Microsoft оставил вопросительный знак зарезервированным? ఠ_ఠ) К сожалению, мне пришлось прекратить использовать любые символы не ASCII, потому что они вызывают проблемы с такими вещами, как программы дефрагментации, которые по какой-то причине кажутся неспособными перемещать файлы с символами Unicode в именах. ಠ ~ ಠ
Synetech
Если подумать, этот ответ на самом деле тоже не отвечает на вопрос. Есть ответы ниже , что делать , так что это тоже должно быть просто комментарий.
Synetech
5
Вы можете загрузиться с диска Linux (например, Knoppix ) и смонтировать раздел NTFS.
Linux имеет гораздо меньше ограничений на имена файлов, и позволит вам создавать такие имена (я пробовал).
Некоторые операционные системы запрещают отображение определенных символов в именах файлов: (Ресурс из Википедии )
/ slash используется в качестве разделителя компонентов имени пути в системах Unix-like, Windows и Amiga. (Оболочка MS-DOS command.com будет использовать его как символ переключения, но сама Windows всегда принимает его как разделитель [2] [расплывчато])
\ backslash Также используется как разделитель компонентов имени пути в MS-DOS, OS / 2 и Windows (нет разницы между косой чертой и обратной косой чертой); разрешено в Unix имени файла
? знак вопроса, используемый в качестве подстановочного знака в Unix, Windows и AmigaOS; отмечает один символ Разрешено в Unix имена файлов
* звездочка используется в качестве подстановочного знака в Unix, MS-DOS, RT-11, VMS и Windows. Отмечает любую последовательность символов (Unix, Windows, более поздние версии MS-DOS) или любую последовательность символов в базовом имени или расширении (таким образом, « . » В ранних версиях MS-DOS означает «все файлы». Допускается в именах файлов Unix ,
: двоеточие используется для определения точки монтирования / диска в Windows; используется для определения виртуального устройства или физического устройства, такого как накопитель на AmigaOS, RT-11 и VMS; используется в качестве разделителя пути в классической Mac OS. Удваивается после имени в VMS, указывает имя узла DECnet (эквивалентно имени хоста NetBIOS (сеть Windows), которому предшествует "\".)
| вертикальная черта обозначает программную конвейеризацию в Unix и Windows; разрешено в именах файлов Unix
"кавычка используется для обозначения начала и конца имен файлов, содержащих пробелы в Windows
<меньше, чем используется для перенаправления ввода, разрешено в именах файлов Unix
> больше, чем используется для перенаправления вывода, разрешено в именах файлов Unix
, период разрешен, но последнее вхождение будет интерпретироваться как разделитель расширений в VMS, MS-DOS и Windows. В других ОС, обычно рассматриваемых как часть имени файла, допускается более одной полной остановки.
Вы можете безопасно набрать гиперболу <bold>: есть возможность импортировать файлы с недопустимыми символами, superuser.com/questions/31587 .
Гиперслуг
2
Вопрос не в том, почему я не могу использовать некоторые символы в именах файлов ; это как я могу заставить использование зарезервированных символов . Таким образом, этот ответ является ответом на другой вопрос. Самое большее, это должен быть комментарий со ссылкой на статью в Википедии.
Synetech
2
Единственный способ - отредактировать жесткий диск вручную с помощью такой программы, как HxD . Если вы сделаете это, скорее всего, файлы не будут доступны любой программе. Например, если вы попытаетесь открыть файл с именем abc\def.txt, вы получите сообщение о том, что каталог abcне существует.
+1 Так я и сделал некоторое время назад. Я легко мог использовать каждый зарезервированный символ, непосредственно редактируя записи каталога FAT. (Это также возможно в NTFS, но немного более
сложно
2
Вы можете установить Подсистему для приложений Unix, если вы используете Ultimate или Enterprise. Оттуда вы можете создавать такие имена.
a
,b
и выa>b
type a>b
Mind if I ask why you are trying to do this?
Может быть, реализовать (плохую) защиту от копирования ?Ответы:
К сожалению, вы не можете использовать зарезервированные символы при создании папок или файлов, поскольку они являются частью системных функций.
То, что я рекомендую вам сделать, это просмотреть
Character Map
приложение - вы можете запустить и набратьcharmap
.отсюда вы можете найти альтернативные символы, которые выглядят одинаково, например:
(скопируйте и вставьте их, вы увидите, что они разные)
Вместо косой черты
/
- вы можете использовать символ деления∕
Вместо двоеточия
:
- вы можете использовать модификатор буквы двоеточия꞉
и так далее!
источник
/
косая черта - не обратная косая чертаВы можете загрузиться с диска Linux (например, Knoppix ) и смонтировать раздел NTFS.
Linux имеет гораздо меньше ограничений на имена файлов, и позволит вам создавать такие имена (я пробовал).
источник
Некоторые операционные системы запрещают отображение определенных символов в именах файлов: (Ресурс из Википедии )
/ slash используется в качестве разделителя компонентов имени пути в системах Unix-like, Windows и Amiga. (Оболочка MS-DOS command.com будет использовать его как символ переключения, но сама Windows всегда принимает его как разделитель [2] [расплывчато])
\ backslash Также используется как разделитель компонентов имени пути в MS-DOS, OS / 2 и Windows (нет разницы между косой чертой и обратной косой чертой); разрешено в Unix имени файла
? знак вопроса, используемый в качестве подстановочного знака в Unix, Windows и AmigaOS; отмечает один символ Разрешено в Unix имена файлов
* звездочка используется в качестве подстановочного знака в Unix, MS-DOS, RT-11, VMS и Windows. Отмечает любую последовательность символов (Unix, Windows, более поздние версии MS-DOS) или любую последовательность символов в базовом имени или расширении (таким образом, « . » В ранних версиях MS-DOS означает «все файлы». Допускается в именах файлов Unix ,
: двоеточие используется для определения точки монтирования / диска в Windows; используется для определения виртуального устройства или физического устройства, такого как накопитель на AmigaOS, RT-11 и VMS; используется в качестве разделителя пути в классической Mac OS. Удваивается после имени в VMS, указывает имя узла DECnet (эквивалентно имени хоста NetBIOS (сеть Windows), которому предшествует "\".)
| вертикальная черта обозначает программную конвейеризацию в Unix и Windows; разрешено в именах файлов Unix
"кавычка используется для обозначения начала и конца имен файлов, содержащих пробелы в Windows
<меньше, чем используется для перенаправления ввода, разрешено в именах файлов Unix
> больше, чем используется для перенаправления вывода, разрешено в именах файлов Unix
, период разрешен, но последнее вхождение будет интерпретироваться как разделитель расширений в VMS, MS-DOS и Windows. В других ОС, обычно рассматриваемых как часть имени файла, допускается более одной полной остановки.
источник
Единственный способ - отредактировать жесткий диск вручную с помощью такой программы, как HxD . Если вы сделаете это, скорее всего, файлы не будут доступны любой программе. Например, если вы попытаетесь открыть файл с именем
abc\def.txt
, вы получите сообщение о том, что каталогabc
не существует.источник
Вы можете установить Подсистему для приложений Unix, если вы используете Ultimate или Enterprise. Оттуда вы можете создавать такие имена.
источник