powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обрезание
3 сообщений из 3, страница 1 из 1
Обрезание
    #32034828
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
6.5
Возникла необходимость в клиенте просматривать/выбирать папку сервера, причем, чтобы дерево просматривалось как в проводнике, открытом на сервере. Для этого использую xp_fixeddrives и xp_dirtree, результаты, которых сохраняю в таблице и обрабатываю определенным оразом. Клиент на VB6 (не суть), использую для отображения fixeddrives контрол ImageCombo, а для dirtree - TreeView. Последнее не важно, можно использовать с успехом и другие контролы. Проблема в том, что при выборе в ImageCombo диска, необходимо построить дерево папок в TreeView. Так вот, xp_dirtree выдает все дерево папок и работает очень долго. Для диска с большим количеством папок у меня работала около двух минут. Ясное дело, что это не никого не устроит, не один юзер ждать столько не будет. Пришлось от этого отказаться. Появился другой вариант - xp_cmdshell 'dir blabla' с выводом результатов в некоторую таблицу. Опять же обрабатываю таблицу некоторым образом, и получаю subfolders для blablabla, и в контроле TreeView отображаю только ветку дерева для открытой папки. Заполняю не весь TreeView, а только для открытой папки, для которой выполнялась xp_cmdshell 'dir blablabla'. Все работает отлично и быстро. Только если я в TreeView выбираю папку с именем типа LongNameFolder xp_cmdshell 'dir... выдает file not found. Если xp_cmdshell 'dir c:\LongNa~1', то все работает. Хотя xp_cmdshell 'dir c:\' выводит результат, где в списке папок и файлов имя этой папки полностью, т.е. LongNameFolder, а не LongNa~1. Вопрос не сколько по клиенту, а сколько по xp: как все сделать по-человечески/что для этого использовать?
P.S: Исправлять все подобные имена перед выполнением xp_cmdshell 'dir... на LongNa~1, LongNa~2, LongNa~3 и т.д. не подходит
...
Рейтинг: 0 / 0
Обрезание
    #32034831
izaltsman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно двойные кавычки вокруг имени поставить...

xp_cmdshell 'dir "c:\very very very very very long name"'
...
Рейтинг: 0 / 0
Обрезание
    #32034942
Фотография Александр Степанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабфолдеры можно получить и проще -

master..xp_subdirs "C:\"

С уважением,
Александр Степанов.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Обрезание
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]