Чтение онлайн

на главную - закладки

Жанры

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
которого будут соответственно содержаться код и описание ошибки.

Поделиться:
Популярные книги

Бояръ-Аниме. Газлайтер. Том 30

Володин Григорий Григорьевич
30. История Телепата
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 30

Мы друг друга не выбирали

Кистяева Марина
1. Мы выбираем...
Любовные романы:
остросюжетные любовные романы
прочие любовные романы
современные любовные романы
5.00
рейтинг книги
Мы друг друга не выбирали

На границе империй. Том 10. Часть 2

INDIGO
Вселенная EVE Online
Фантастика:
космическая фантастика
5.00
рейтинг книги
На границе империй. Том 10. Часть 2

Глэрд IX: Легионы во Тьме

Владимиров Денис
9. Глэрд
Фантастика:
боевая фантастика
попаданцы
фэнтези
5.00
рейтинг книги
Глэрд IX: Легионы во Тьме

Учитель из прошлого тысячелетия

Еслер Андрей
6. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Учитель из прошлого тысячелетия

Железный Воин Империи

Зот Бакалавр
1. Железный Воин Империи
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Железный Воин Империи

Геном хищника. Книга третья

Гарцевич Евгений Александрович
3. Я - Легенда!
Фантастика:
боевая фантастика
рпг
попаданцы
5.00
рейтинг книги
Геном хищника. Книга третья

Эпоха Опустошителя. Том IV

Павлов Вел
4. Вечное Ристалище
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эпоха Опустошителя. Том IV

Целого Мира Мало

Джиллиан Алекс
Любовные романы:
современные любовные романы
8.88
рейтинг книги
Целого Мира Мало

Перешагнуть пропасть

Муравьёв Константин Николаевич
1. Перешагнуть пропасть
Фантастика:
боевая фантастика
космическая фантастика
8.38
рейтинг книги
Перешагнуть пропасть

Первый среди равных

Бор Жорж
1. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Контртеррор

Валериев Игорь
6. Ермак
Фантастика:
альтернативная история
5.00
рейтинг книги
Контртеррор

Изгой Проклятого Клана. Том 3

Пламенев Владимир
3. Изгой
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Изгой Проклятого Клана. Том 3