Как переименовать сетевой диск на vbs

Программирование на Active Server Pages и VBScript.
Diver
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 6:01
Откуда: 25 RUS

Как переименовать сетевой диск на vbs

Сообщение Diver » 02.04.2006 (Вс) 6:06

Здраствуйте. Проблема
код:
Код: Выделить всё

Set shel = CreateObject("Shell.Application")
shel.NameSpace("W:")Self.Name = "Preved"

На хр работает, а на вин2000 выдает ошибку
Код: Выделить всё
Ошибка: Требуется объект: 'shel.NameSpace(...)'
Код: 800A01A8
Источник: Ошибка выполнения Microsoft VBScript

Устанавливал Windows scripts 5.6, без толку. Как переименовать сетевой диск?

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 02.04.2006 (Вс) 10:03

Никак, такая функциональность Windows не поддерживается.

Отключить и подключить по новой.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Diver
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 6:01
Откуда: 25 RUS

Сообщение Diver » 02.04.2006 (Вс) 10:32

я и так его оключаю и подключаю при каждом логине. а как имя задать? Неужели впринципе невозможно переименовать сетевой диск в вин2000?
Руками то можно переименовать, почему скриптом нельзя?

ALX_2002
Мега гуру
Мега гуру
 
Сообщения: 2054
Зарегистрирован: 25.11.2002 (Пн) 20:03

Сообщение ALX_2002 » 03.04.2006 (Пн) 17:58

Челы, я возможно глупость скажу, но а если через вот так ? :roll:

Код: Выделить всё

Dim WSH,RetVal

Set WSH = CreateObject("WScript.Shell")

Retval = WSH.Exec("subst F: сетевой путь").StdOut.ReadAll

RetVal = DosToWin(RetVal)

msgbox RetVal

Set WSH = Nothing

Function DosToWin(s)
Dim i,k,ss
  ss=""
  For i=1 To Len(s)  ' Цикл по всем символам в строке
    k = Asc(Mid(s,i,1))  ' Определяем ANSI-код i-го символа
    ' Изменяем код k на код соответствующего символа в
    ' Windows-кодировке
    If (128 <= k) And (k <= 175) Then
      k=k+64
    ElseIf (224 <= k) And (k <= 239) Then
      k=k+16
    ElseIf k = 240 Then
      k=168
    ElseIf k = 241 Then
      k=184
    End If
    ss=ss+Chr(k)  ' Возвращаем преобразованную строку
  Next
DosToWin=ss
End Function


P.S Виноват, если не в тему.

За скрипт перекодировки спасибо Ruslan Demidow

Diver
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 02.04.2006 (Вс) 6:01
Откуда: 25 RUS

Сообщение Diver » 03.04.2006 (Пн) 23:45

Походу нашел. Надо вроде вот так
Код: Выделить всё

shel.NameSpace("W:\")Self.Name = "Preved"

Т.е. не "W:" а "W:\"


Вернуться в ASP и VBScript

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23

    TopList