Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBScript/JScript/WSH/WMI/HTA

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.72
greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 60
#1

Скрипт на сервере сценариев Windows Scripting Host. Подключение сетевого диска - VBScript/JScript

20.02.2014, 12:01. Просмотров 2574. Ответов 4
Метки нет (Все метки)

Пытаюсь подключить сетевой диск через скипт с расширение .vbs Диск и путь вводятся с клавиатуры пользователем. Но выбивает ошибку, что указано неверное имя устройства. Оно и понятно, что вместо bykva должна стоять именно буква. А этот параметр не передается из InputBox. А нужно, чтобы пользователь вводил с клавиатуры название диска и путь. Как быть?
Сам скрипт имеет вид:
Visual Basic
1
2
3
4
5
Dim WshNetwork, bykva, path
Set WshNetwork = WScript.CreateObject("WScript.Network") 
bykva=InputBox ("Введите название сетевого диска(например Z)")
path=InputBox ("Введите путь для сетевого ресурса(например \\Server\PublicFiles)")
WshNetwork.MapNetworkDrive "bykva:",  "path"
И конечно код не на джава скрипте. Расширение у файла .vbs
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 12:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Скрипт на сервере сценариев Windows Scripting Host. Подключение сетевого диска (VBScript/JScript):

Скрипты Windows Scripting Host - JavaScript - VBScript/JScript
В зависимости от запроса 1. для каждого типа файлов -TXT,INF,ASM - выдать число строк с заданным текстом; 2. отсортировать файлы...

Подключение сетевого диска - Администрирование Windows
На компьютере стоит внешний жёсткий диск, на нём есть расшаренная папка, как сделать так, чтобы копьютер сам при включении подключал к ней...

Подключение сетевого диска с паролем - Администрирование Windows
Купил я себе выносную коробку для жесткого диска NSB3AS1T. Работать с этим девайсом я предпочитаю через smb. Я хочу иметь к нему доступ из...

Подключение сетевого диска в Win 8.1 - Администрирование Windows
Помогите понять, почему так происходит. Установлена Win 8.1. Открыл общий доступ для Папки Docs. С другого компьютера на котором...

Подключение сетевого диска для отдельных пользователей - Администрирование Windows
Добрый день. помогите решить вот такую проблему... нужно подключить 5 сетевых дисков 15 пользователям, но 2 диска только 3 из 15 к...

Подключение сетевого диска на новом компьютере в сети - Администрирование Windows
Приветствую знатоков. В администрировании сетей полнейший дилетант, так что сразу прошу прощения за, возможно, элементарные вопросы....

4
Казанский
13195 / 5086 / 1223
Регистрация: 24.09.2011
Сообщений: 7,861
20.02.2014, 13:47 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Visual Basic
1
WshNetwork.MapNetworkDrive bykva & ":",  path
Добавлено через 14 минут
ИМХО лучше сделать один ввод
Visual Basic
1
2
3
4
Dim path
path = InputBox("Введите название сетевого диска" & vbLf & _
  "и путь для сетевого ресурса", , "Z\\Server\PublicFiles")
CreateObject("WScript.Network").MapNetworkDrive Left(path, 1) & ":", Mid(path, 2)
1
Dmitrii
2596 / 529 / 104
Регистрация: 21.03.2012
Сообщений: 1,020
20.02.2014, 22:38 #3
greendoom, что мешает добавлять к букве двоеточие непосредственно в поле InputBox()?
Visual Basic
1
bukva = InputBox("Буква с двоеточием, например, Z:","","Z:")
Кстати, обратите внимание на следующее:
- заданная буква уже может использоваться для обозначения какого-либо тома;
- могут быть заданы зарезервированные системой буквы "A" и "B";
- заданный сетевой путь уже может быть подключен под другим наименованием.
Поэтому лучше запрашивать у пользователя только путь, а уж букву для обозначения сетевого диска назначать самостоятельно.
1
greendoom
4 / 4 / 1
Регистрация: 13.03.2011
Сообщений: 60
21.02.2014, 13:42  [ТС] #4
Насчет того, что буква может быть, это я дальше буду доделывать))) Там надо будет предусмотреть это еще)) что если буква есть, то другое какое-то условие делать. Спасибо за замечание!

Добавлено через 8 минут
Dmitrii при вводе двоеточия сразу же все равно выскакивает ошибка "Указано неверное имя устройства".

Добавлено через 5 минут
Ваш вариант работает, а не могли бы пояснить, что значит Left(path, 1) & ":", Mid(path, 2)?????

Добавлено через 2 часа 57 минут
Все. Доделал задание. Добавил еще по заданию, чтобы шла обработка ошибок при подключении и вывод их, и так же при окончании скрипта предложение отключить сетевой диск, который подключали. Весь скрипт выглядит так:
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim WshNetwork, WshShell, otkluch, path
Set WshNetwork = WScript.CreateObject("WScript.Network") 
Set WshShell = WScript.CreateObject("WScript.Shell")
path=InputBox ("Введите название сетевого диска" & vbLf & _
  "и путь для сетевого ресурса", , "A\\Sergei\Почта")
On Error Resume Next  
WshNetwork.MapNetworkDrive Left(path, 1) & ":", Mid(path, 2)
If Err.Number<>0 Then
  Info="Ошибка при подключении диска " & Drive & vbCrLf & _
       "Код ошибки: " &  err.number & vbCrLf &+ _
       "Описание: " & err.description
WshShell.Popup Info,0,"Ошибка при подключении",vbCritical
Else
Info="Диск " & Drive & "подключен"
  WshShell.Popup Info,0,"Подключение диска",vbInformation
otkluch=WshShell.Popup( "Будем отключать подключенный диск?",,, 4)
Select Case otkluch
Case 6
On Error Resume Next  
WshNetwork.RemoveNetworkDrive Left(path, 1) & ":"
If Err.Number<>0 Then
  Info="Ошибка при отключении диска " & Drive & vbCrLf & _
       "Код ошибки: " &  err.number & vbCrLf &+ _
       "Описание: " & err.description
  WshShell.Popup Info,0,"Отключение сетевого диска",vbCritical
Else
  Info="Диск " & Drive & " отключен успешно"
  WshShell.Popup Info,0,"Отключение сетевого диска",vbInformation
End If
Case 7
End Select
End If
0
Dmitrii
2596 / 529 / 104
Регистрация: 21.03.2012
Сообщений: 1,020
21.02.2014, 22:21 #5
Цитата Сообщение от greendoom Посмотреть сообщение
Доделал задание...
В Вашем сценарии переменная Drive имеет пустой значение.
0
21.02.2014, 22:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2014, 22:21
Привет! Вот еще темы с ответами:

В чём разница между обычным подключением сетевого диска и подключением сетевого диска при помощи политик? - Администрирование Windows
Вопрос начинающего. В чём разница между обычным подключением сетевого диска и подключением сетевого диска при помощи политик))

Подключение сетевого диска "полностью" - Администрирование Windows
Здравствуйте, уважаемые форумчане! ОС Windows 8.1. Требуется подключить сетевой диск. Но есть проблема. При подключении с...

Подключение сетевого диска в Windows 7 - Windows 7
Здравствуйте, уважаемые форумчане. Не удается подключить сетевой диск между ПК с Win7. ПК1 и ПК2 подключены в общую сеть с...

Скачать свежую версию Windows Scripting Host - Java
судя по всему у Снежка стоит Javascript 5.0 на NT - кто знает, как обновить версию языка? просто на IIS 4.0 стоит Javascript 4.0 кажется -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru