Диски
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);
}
Назад по тексту | Содержание | Вперед по тексту