2014-09-07 2 views
1

Я делаю некоторое программное обеспечение, которое является cross-os. Я подошел к точке, где мне нужна помощь.Запрещенные символы в именах папок?

Пользователь может создать профиль. Они могут назвать его чем угодно, однако создается папка с тем же именем. Поэтому я сталкиваюсь с проблемами запрещенных символов с помощью os для имен папок.

Я наткнулся на это: http://en.wikipedia.org/wiki/Filename#Reserved_characters_and_words

Можете ли вы помочь мне, говоря мне за зева, которые запрещены?

Сейчас я предполагаю, что эти следующие девять символы не допускаются в именах папок для всех OS'es в Windows, Linux, Mac: *, :, ?, <, >, |, /, \" Это правильное предположение, которое я могу сделать?

У меня есть только окна, поэтому я смог проверить с помощью этого изображения, что этот набор символов 9, по крайней мере, верен для Win8.1.

Большое спасибо

+1

В Windows запрещены не только эти символы, но также некоторые зарезервированные имена: CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9, CLOCK $ , Дополнительная информация: [Именование файлов, пути и пространства имен] (http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx) – Rimas

+0

Что такое связь между «недопустимыми символами» и «пользователи могут создавать папки с тем же именем»? –

+0

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

ответ

1

Один Unix/Linux/Mac, все эти символы разрешены. Она просто принимает некоторые из командной строки здравого смысла, чтобы это произошло:

touch foo 
cp foo "This is a crazy file name * : ? < \"" 

Затем введите:

ls -l This* 

Результаты в:

-rw-rw-r-- 1 ubuntu ubuntu 0 Sep 7 07:19 This is a crazy file name * : ? < " 
+0

Ха-ха забавный пример. Im интересно, для среднего пользователя, который создает папку через графический интерфейс: P – Noitidart

+1

@Noitidart - если вы пишете производственный код для продукта, который будет поставляться клиентам, вы будете удивлены, что могут генерировать «обычные пользователи». – selbie

+0

святой дерьмо просто получил vm box oracle и получил ubuntu и man, я создал папку с именем '~'! @ # $%^& *() _- + = \ 'там все равно включить'/'в имя? – Noitidart

Смежные вопросы