Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Вопрос для профи: Сетевой и локальный диск (как отличить?)  [new]
Vodochnik
Member

Откуда: оттуда...
Сообщений: 138
Бэкап-робот глючит на символах верхней половины аски. Посему написал сканер папок и файлов, содержащих всякий мусор.
Возникла следующая проблема: в случае, если путь длиннее 255 символов - акс естественно ругается. Поэтому такой случай тоже репортится (как неизлечимый :))
В случае если я задаю путь к шаре как \\server\data\backup\some_long_name\ и сканирую вглубь, то все нормально, длинные пути дальше не сканируются.

Но если в окне выбора пути я выбираю сетевой диск, то путь скажем из 230 символов ТОЖЕ вызывает ошибку. Видимо в случае сетевого диска path вида J:\230_symbols_path\ заменяется (внутри акса, а скорее внутри винды) на \\server\data\backup\some_long_name\230_symbols_path\
Ну, а такой путь уже глючит.

Что хотелось бы: найти способ узнать тип диска с определенной буквой. Если это локальный - оставлять все как есть, если сетевой - узнавать тот самый путь, который скрывается под буквой и заменять букву на него. UNC, ага :)
19 янв 07, 23:02    [3669696]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос для профи: Сетевой и локальный диск (как отличить?)  [new]
Ламер Ламерович
Member

Откуда: от верблюда
Сообщений: 996
Читайте Help - источник знаний
Sub DriveType(strDrivePath As String)
    Dim fso As Object, d As Object, t As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set d = fso.GetDrive(fso.GetDriveName(strDrivePath))
    Select Case d.DriveType
        Case 0: t = "Unknown"
        Case 1: t = "Removable"
        Case 2: t = "Fixed"
        Case 3: t = "Network"
        Case 4: t = "CD-ROM"
        Case 5: t = "RAM Disk"
    End Select
    Debug.Print strDrivePath, t
End Sub
DriveType "z:\"
z:\           Network
20 янв 07, 00:13    [3669797]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить