Windows Script Host для Windows 2000/XP
Шрифт:
//Объявляем переменные
var WshNetwork,WshShell,Drive,NetPath,Port,NetPrinter,Mess,IsError;
//Инициализируем константы для диалоговых окон
var vbCritical=16,vbInformation=64;
Drive="K:"; //Буква диска
//NetPath="\\\\RS_NT_Server\\d"; //Сетевой путь для подключения диска
NetPath="\\\\RS_NT_Server\\d"; //Сетевой путь для подключения диска
Port="LPT1"; //Название локального порта
//Сетевой путь для подключения принтера
NetPrinter="\\\\104_Stepankova\\HP";
//Создаем объект WshNetwork
WshNetwork = WScript.CreateObject("WScript.Network");
//Создаем объект WshShell
WshShell = WScript.CreateObject("WScript.Shell");
/************* Отключение сетевого диска ***********************/
IsError=false;
try {
//Отключаем сетевой диск
WshNetwork.RemoveNetworkDrive(Drive);
} catch (e) { //Обрабатываем возможные ошибки
if (e != 0) {
//Выводим сообщение об ошибке
IsError=true;
Mess="Ошибка при отключении диска "+Drive+"\nКод ошибки: "+
e.number+"\nОписание: "+e.description;
WshShell.Popup(Mess,0,"Отключение сетевого диска",vbCritical);
}
}
if (!IsError) {
//Все в порядке
Mess="Диск "+Drive+" отключен успешно";
WshShell.Popup(Mess,0,"Отключение сетевого диска",vbInformation);
}
/************* Подключение сетевого диска ***********************/
IsError=false;
try {
//Подключаем сетевой диск
WshNetwork.MapNetworkDrive(Drive,NetPath);
} catch (e) { //Обрабатываем возможные ошибки
if (e != 0) {
//Выводим сообщение об ошибке
IsError=true;
Mess="Ошибка при подключении диска " + Drive + " к " + NetPath+
"\nКод ошибки: "+e.number+"\nОписание: "+e.description;
WshShell.Popup(Mess,0,"Подключение сетевого диска",vbCritical);
}
}
if (!IsError) {
//Все в порядке
Mess="Диск "+Drive+" успешно подключен к "+NetPath;
WshShell.Popup(Mess,0,"Подключение сетевого диска",vbInformation);
}
/************* Освобождение локального порта ***********************/
IsError=false;
try {
//Разрываем связь с сетевым принтером
WshNetwork.RemovePrinterConnection(Port);
} catch (e) {
if (e != 0) { //Обрабатываем возможные ошибки
//Выводим сообщение об ошибке
IsError=true;
Mess="Ошибка при отключении порта "+Port+"\nКод ошибки: "+
e.number+"\nОписание: "+e.description;
WshShell.Popup(Mess,0,"Отключение локального порта от сетевого ресурса",vbCritical);
}
}
if (!IsError) {
//Все в порядке
Mess="Порт "+Port+" отключен успешно";
WshShell.Popup(Mess,0,"Отключение локального порта от сетевого ресурса",vbInformation);
}
/***** Подключение локального порта к сетевому принтеру *********/
IsError=false;
try {
//Подключаем сетевой принтер к локальному порту
WshNetwork.AddPrinterConnection(Port,NetPrinter);
} catch (e) { //Обрабатываем возможные ошибки
if (e != 0) {
//Выводим сообщение об ошибке
IsError=true;
Mess="Ошибка при переназначении порта "+Port+ " на "+NetPrinter+
"\nКод ошибки: "+e.number+"\nОписание: "+e.description;
WshShell.Popup(Mess,0,"Подключение локального порта к сетевому ресурсу",vbCritical);
}
}
if (!IsError) {
//Все в порядке
Mess="Порт "+Port+" успешно подключен к "+NetPrinter;
WshShell.Popup(Mess,0,"Подключение локального порта к сетевому ресурсу",vbInformation);
}
/************* Конец *********************************************/
Реализация того же сценария на языке VBScript представлена в листинге 2.51. Главное отличие здесь состоит в способе обработки возможных ошибок времени выполнения. В VBScript для этой цели предназначен оператор
On Error Resume Next
— при возникновении ошибки после выполнения этого оператора сценарий не прервется, а просто перейдет к выполнению следующей строки кода. Проанализировать же возникшую ошибку можно с помощью специального объекта Err
, в полях Number
и Description
которого будут соответственно содержаться код и описание ошибки.
Поделиться:
Популярные книги
Потомок бога
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Удержать 13-го
Любовные романы:
остросюжетные любовные романы
эро литература
зарубежные любовные романы
5.00
рейтинг книги
Моя простая курортная жизнь 7
7. Моя простая курортная жизнь
Фантастика:
дорама
гаремник
5.00
рейтинг книги
Монстр из прошлого тысячелетия
5. Соприкосновение миров
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Камень Книга двенадцатая
12. Камень
Фантастика:
боевая фантастика
городское фэнтези
аниме
фэнтези
5.00
рейтинг книги
Я уже царь. Книга XXIX
29. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Феномен
2. Уникум
Фантастика:
боевая фантастика
6.50
рейтинг книги
Орден Багровой бури. Книга 1
1. Орден Багровой бури
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Убивать, чтобы жить
1. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Курсант: назад в СССР 2
2. Курсант
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Наследник жаждет титул
4. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Третий. Том 3
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
Сильнейший Столп Империи. Книга 2
2. Сильнейший Столп Империи
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга III
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00