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

ЖАНРЫ

Windows Script Host для Windows 2000/XP

Попов Андрей Викторович

Шрифт:

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

Листинг 2.51. Отключение и подключение сетевых ресурсов (VBScript)

'********************************************************************

' Имя: MapResources.vbs

' Язык: VBScript

' Описание: Отключение и подключение сетевых дисков и принтеров

'********************************************************************

Option Explicit

' Объявляем переменные

Dim WshNetwork,Drive,NetPath,Port,NetPrinter

Drive="K:" ' Буква диска

NetPath="\\RS_NT_Server\d" ' Сетевой путь для подключения диска

Port="LPT1" ' Название локального порта

' Сетевой путь для подключения принтера

NetPrinter="\\104_Stepankova\HP"

' Создаем объект WshNetwork

Set WshNetwork = WScript.CreateObject("WScript.Network")

' Создаем объект WshShell

Set WshShell = WScript.CreateObject("WScript.Shell")

On Error Resume Next ' Включаем обработку ошибок времени выполнения

'************* Отключение сетевого диска ***********************

' Отключаем сетевой диск

WshNetwork.RemoveNetworkDrive Drive

If Err.Number<>0 Then

 Mess="Ошибка при отключении диска " & Drive & vbCrLf & _

"Код ошибки: " & e.number & vbCrLf &+ _

"Описание: " & e.description

 WshShell.Popup Mess,0,"Отключение сетевого диска",vbCritical

Else

 ' Все в порядке

 Mess="Диск " & Drive & " отключен успешно"

 WshShell.Popup Mess,0,"Отключение сетевого диска",vbInformation

End If

'************* Подключение сетевого диска ***********************

' Подключаем сетевой диск

WshNetwork.MapNetworkDrive Drive,NetPath

If Err.Number<>0 Then

 Mess="Ошибка при подключении диска " & Drive & " к " & NetPath &_

"Код ошибки: " & e.number & "Описание: " & e.description

 WshShell.Popup Mess,0,"Подключение сетевого диска",vbCritical

Else

 ' Все в порядке

 Mess="Диск " & Drive & " успешно подключен к " & NetPath

Поделиться с друзьями: