Visual Basic Script


Диски



         6.5. Диски

         Сценарии не могут непосредственно работать с дисками в системе, поскольку объект FileSystemObject не предоставляет для этого методов. Но с помощью свойств объекта Drive и коллекции Drives мы можем получить некоторые сведения о дисках системы.

         Для работы с диском необходимо как и при работе с файлами и папками создать объект с его свойствами с помощью метода GetDrive.

         Синтаксис:

        object.GetDrive drivespec

         где

         drivespec – имя диска. В кавычках располагается его имя. Это может быть “c” или “c:” или “c:\”. При работе с сетевыми дисками это может быть “computer2\share1”
 

         VBScript:

     Set FSO = CreateObject(“Scripting.FileSystemObject”)
     ‘создаем объект FileSystemObject

     Set Drv = FSO.GetDrive(“c:”)
     ‘получаем диск С
 
         JScript:

     var FSO = new ActiveXObject("Scripting.FileSystemObject");
    //создаем объект FileSystemObject

     var Drv = FSO.GetDrive(“c:”);
    //получаем диск С
 

        DriveExists – выполняет проверку, существует ли указанный диск.

         VBScript:


    Set fso = CreateObject("Scripting.FileSystemObject")
      If fso.DriveExists("c") Then
        MsgBox "Диск C присутствует"
      Else
         MsgBox "Диск C не найден"
    End If
 

        JScript:

    fso = new ActiveXObject("Scripting.FileSystemObject");
      if (fso.DriveExists("c"))
    WScript.Echo("Диск C присутствует");
      else
    WScript.Echo("Диск C не найден");
 
 

        AvailableSpace – возвращает количество свободного места на диске, которым располагает пользователь, в байтах.

        Синтаксис:

        object.AvailableSpace

        где

        object - объект Drive
 

Следует заметить, что на дисках размером более 2 Гигабайт многие свойства, возвращающие пространство на диске могут работать неправильно, поскольку наибольшая величина целочисленного значения у языков сценариев не может быть больше чем 2 147 483 647, поэтому, если возвращенная величина будет больше, то сценарий возвратит некорректные данные.
 

         FreeSpace – возвращает количество свободного места на диске.
 

         TotalSize – всего места на диске.
 

         DriveType – тип диска.

        Возвращаемые значения свойства DriveType:
 
 
Значение Объяснение


0
Тип не может быть определен




1
Сменный носитель или дисковод для гибких дисков


2
Обычный HDD


3
Сетевой диск


4
CD-ROM


5
Виртуальный RAM-диск
&


nbsp;
 
 

         VBScript:

    Dim fso, d, t
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set d = fso.GetDrive("c")
    Select Case d.DriveType
    Case 0: t = "Неопределен"
    Case 1: t = "Дисковод 3.5'"
    Case 2: t = "Обычный HDD"
    Case 3: t = "Cетевой"
    Case 4: t = "CD-ROM"
    Case 5: t = "RAM Disk"
    End Select
    MsgBox "Диск " & "с" & ": - " & t
 

        JScript:

    var fso, d, s, t;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    d = fso.GetDrive("c:");
    switch (d.DriveType)
    {
    case 0: t = "Неопределен"; break;
     case 1: t = "Диск 3.5'"; break;
     case 2: t = "Обычный HDD"; break;
     case 3: t = "Сетевой"; break;
     case 4: t = "CD-ROM"; break;
     case 5: t = "RAM Disk"; break;
     }
     s = "Drive " + "c" + ": - " + t;
    WScript.echo(s);
 
 

        FileSystem – возвращает тип файловой системы FAT, NTFS, или CDFS.

        VBScript:

    Dim FSO, D, FileSys
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set D = FSO.GetDrive("C")
    FileSys = D.FileSystem
    MsgBox "Файловая система на диске C: " + FileSys



        JScript:

    var FSO = WScript.CreateObject("Scripting.FileSystemObject");
    var D = FSO.GetDrive("C");
    FileSys = D.FileSystem;
    WScript.Echo(" Файловая система на диске C: " + FileSys);
 

         IsReady – логическое значение. Возвращает true, если диск готов к использованию.

         VBScript:

    Dim FSO, d, t
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set d = FSO.GetDrive("a")
    If d.IsReady Then
     MsgBox "Устройство готово к использованию"
    Else
     MsgBox "Устройство не готово "
    End If

        JScript:

    var FSO, d, s, t;
    FSO = new ActiveXObject("Scripting.FileSystemObject");
    d = FSO.GetDrive("a:");
    if (d.IsReady)
    WScript.Echo("Устройство готово к использованию");
    else
    WScript.Echo("Устройство не готово, вставьте диск в дисковод");
 

         RootFolder – возвращает путь к корневому каталогу. Для диска С – “с:\”, для a – “a:\” и т.д.

         SerialNumber – серийный номер устройства в десятичной системе.

         VBScript:

     Dim FSO, D, Serial
     Set FSO = CreateObject("Scripting.FileSystemObject")
    Set D = FSO.GetDrive("C")
    Serial = D.SerialNumber
    'получаем серийный номер диска C в десятичной системе



    MsgBox " Файловая система на диске C: " & Hex(Serial)
    'выводим его в шестнадцатеричной системе

        JScript:

    var FSO = WScript.CreateObject("Scripting.FileSystemObject");
    var D = FSO.GetDrive("C");
    var Serial = D.SerialNumber;
    'получаем серийный номер диска C в десятичной системе
 
    WScript.Echo("Файловая система на диске C: " + Serial.toString(16));
    'выводим его в шестнадцатеричной системе
 

         ShareName – сетевой адрес устройства

         VolumeName – возвращает/устанавливает метку диска

         Синтаксис:

         object.VolumeName [= newname]

         где object - объект Drive

         Необязательный параметр:

         newname - новая метка диска
 

         VBScript:

    Dim FSO, D, Vol
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set D = FSO.GetDrive("C")
    Vol = D.VolumeName
    If Vol = "" Then
    'если метка не задана
    MsgBox"Метка для диска C не задана"
    Else
    MsgBox"Метка диска C: " & Vol
    End If
 

        JScript:

    var FSO = WScript.CreateObject("Scripting.FileSystemObject");
    var D = FSO.GetDrive("C");
    Vol = D.VolumeName ;
    if (Vol == "")
    //если метка не задана
    {
    WScript.Echo("Метка для диска C не задана");
    }
    else
    {
    WScript.Echo("Метка диска C: " + Vol);
    }
 

Назад по тексту | Содержание | Вперед по тексту

Содержание раздела