|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
Добрый день, Уважаемые. Извиняюсь, если не нашел очевидное... Человек вручную вносит путь к папке назначения для хранения файлов, а мне средствами Cache необходимо проверить, что данный путь является корректным для ОС. При этом на машине, где такая проверка будет осуществляться, данный путь может отсутствовать, даже диска, указанного в пути, может не быть... Этот путь предназначен для других машин и он туда будет отправлен. Искал в документации на классы, да и на форуме тоже...тщетно... Подскажите, есть что в Cache похожее (функция, метод класса, недокументированная функция), может у меня просто глаз замылился... Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:36 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBИскал в документации на классы, да и на форуме тоже...тщетно... Подскажите, есть что в Cache похожее (функция, метод класса, недокументированная функция) Как вариант... Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:42 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
krvsa, я же написал, что в месте проверки такой путь вероятнее всего отсутствует, даже диск может отсутствовать, чаще всего. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:45 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
Как вариант воспользоваться NormalizeDirectory . Он вернет путь подходящий для текущей ОС, даже если он введен для другой ос, он преобразует его Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:45 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
DAiMor, Да, я пробовал этот вариант, ну и то что Вы дальше предлагаете... Но в некоторых случаях возвращается сильно уж большое отличие... Тяжко будет сравнивать введенное и полученное значение... Хотелось бы возврата 0/1 Но, боюсь что придется останавливаться на таком варианте, при этом обрезав фантазии человека руками творящего... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:54 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBНо в некоторых случаях возвращается сильно уж большое отличие...Интересно увидеть бы такие варианты. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 15:58 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
DAiMor, Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:03 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBDAiMor, Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:15 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
DAiMor, Все согласно документации, только мне от этого не легче... Придется таки мудрить... Хотелось бы 1/0 иметь в ответе, да еще стандартной функцией... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:19 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBя же написал, что в месте проверки такой путь вероятнее всего отсутствует, даже диск может отсутствовать, чаще всего. В таком случае сервер не сможет проверить то, к чему у него нет доступа. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:50 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
krvsa, Так мне и не нужно, это предназначено для другой машины и другой программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 16:57 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
DAiMorAlexKBНо в некоторых случаях возвращается сильно уж большое отличие...Интересно увидеть бы такие варианты.По многочисленным просьбам трудящихся: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 17:07 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBDAiMorпропущено... Интересно увидеть бы такие варианты.По многочисленным просьбам трудящихся: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 17:18 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
DAiMorО, как, это уже неожиданноА так? Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 18:02 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
servit, То же самое что и в первом моем упоминании D;\USER ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 18:09 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
Короче, надо писать автору... А может еще и попросить чего... ну там 0/1 на выходе да одной функцией... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2016, 18:10 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBКороче, надо писать автору... Или придумывать регулярное выражение проверки пути... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 08:53 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBservit, То же самое что и в первом моем упоминании D;\USERВ Вашем первом упоминании путь получается как раз корректным: Код: plaintext 1.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 09:10 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
servit, В самом начале я ставил вполне понятный вопрос - проверить допустимость ВВЕДЕННОГО пути, вернув ответ 1/0, а не того, что мне возвращает метод, пристыковав свои "бэбихи". Дальнейшие рассуждения о допустимости сформированного в ответ пути считаю неуместными. Именно поэтому я не "обижаю" данный метод, просто столкнулся с жестокой необходимостью его использования с "прикруткой" собственных блох, чтобы как-то разрешить мою ситуацию. А вот стандартная функция ( или метод ) проверки допустимости файлового пути папки хранения для разных ОС, с учетом того, что такой путь в месте проверки отсутствует, думаю была бы полезной. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 09:28 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
попробуйте $zu(140,7,file) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:12 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
andrew000999попробуйте $zu(140,7,file)Это то же самое, что и ##class(%File).Attributes(file). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:17 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
andrew000999попробуйте $zu(140,7,file)При чём здесь чтение атрибутов файла? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:18 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKB, Я бы нашёл в гугле (или написал сам) регулярное выражение, которое проверяет, что строка похожа на путь к файлу. Например, Regular Expression to Validate File Path and Extension Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:24 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
Александр Коблов... регулярное выражение, которое проверяет, что строка похожа на путь к файлу.Похоже, это максимум, на что можно рассчитывать. Какой бы "ИИ" не привлекался к проверке допустимости пути, введёт пользователь где-то не ту букву, и всё: проверка прошла, но программа не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 11:52 |
|
Проверка корректности имени папки
|
|||
---|---|---|---|
#18+
AlexKBservit, В самом начале я ставил вполне понятный вопрос - проверить допустимость ВВЕДЕННОГО пути, вернув ответ 1/0, а не того, что мне возвращает метод, пристыковав свои "бэбихи". Дальнейшие рассуждения о допустимости сформированного в ответ пути считаю неуместными.1. ##class(%File).NormalizeDirectory() не предназначен для валидации имени файла/папки; 2. мой первоначальный пост адресовался DAiMor, а не Вам, и совсем по другому вопросу.AlexKBА вот стандартная функция ( или метод ) проверки допустимости файлового пути папки хранения для разных ОС , с учетом того, что такой путь в месте проверки отсутствует, думаю была бы полезной.Такого метода нет и вряд ли он будет создан, так как ограничения на имена файлов/папок разнятся от версии к версии даже в рамках одного семейства ОС (FAT/NTFS/Unicode/etc.):
Есть несколько путей решения вопроса: 1. договориться об определённом формате пути с жёсткими ограничениями на общую длину, вложенность, символы, зарезервированные имена и т.д., которые затем можно проверить через ##class(%File). GetDirectoryLength ()/ GetDirectoryPiece (). В этом случае Вы избежите в будущем подобных проблем; 2. если ОС, где проходит проверка, совпадает с целевой ОС, то можно временно создать папку(и) с частью пути, возможно отбросив диск. Если папка(и) создалась, значит весь путь корректный; 3. создать callout-модуль с использованием API ОС.Alexey MaslovКакой бы "ИИ" не привлекался к проверке допустимости пути, введёт пользователь где-то не ту букву, и всё: проверка прошла, но программа не работает.Вы абсолютно правы: Код: plaintext 1. 2. 3.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 13:55 |
|
|
start [/forum/topic.php?fid=39&msg=39198620&tid=1556507]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 400ms |
0 / 0 |