- WScript
- FileSystemObject
- Drive
- File
- Folder
- TextStream
- Shell
- WshNetwork
- WshShell
- Wsh[Url]Shortcut
- WshScriptExec
- ADOStreamObject
- HTA
- CMD
- uconv
- Enumerator
- Источник
Объект Drive
Объект Drive содержит свойства, которые позволяют получить информацию о дисках системы, например их название и сколько свободного места доступно. "Диском" считается не только винчестер, но и CD-ROM диск, диск RAM и т.д. Диск не обязательно должен быть присоединён к системе, он также может быть логически подключён через сеть.
Объект Drive создается методом GetDrive() объекта FileSystemObject.
Необходимо здесь отметить, что объект FileSystemObject имеет свойство Drives, в котором хранится коллекция, содержащая объекты Drive для всех доступных дисков компьютера.
Синтаксис
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var objDrive = FSO.getDrive ( drivespec )
var objDrive = FSO.Drives.Item ( drivespec )
// drivespec - может быть буквой диска (c), буквой диска с двоеточием (c:),
// буквой диска с двоеточием и символом разделителем пути (c:\),
// или любым сетевым путем (\\computer2\share1).
Свойства обхекта Drive
| AvailableSpace | Возвращает количество доступного для пользователя места на диске в байтах. |
| DriveLetter | Возвращает символ физического (логического) диска или сетевого ресурс. |
| DriveType | Определяет тип ресурса.. |
| FileSystem | Возвращает тип файловой системы (FAT, NTFS или CDFS). |
| FreeSpace | Возвращает количество свободного места на диске в байтах. |
| IsReady | Возвращает true, если устройство готово, иначе - false. |
| Path | Возвращает полный путь к файлу. |
| RootFolder | Возвращает объект Folder, соответствующий корневому каталогу диска. |
| SerialNumber | Возвращает десятичный серийный номер диска. |
| ShareName | Возвращает сетевое имя диска, если диск сетевой (иначе - пустая строка). |
| TotalSize | Возвращает общий объём диска в байтах. |
| VolumeName | Возвращает метка тома диска. |
AvailableSpace
Синтаксис
// Свойство. Только чтение. objDrive.AvailableSpace
Возвращаемое значение
Число - количество доступного для пользователя места на диске в байтах.
Пример
var FSO = WScript.CreateObject("Scripting.FileSystemObject");
var DriveC = FSO.GetDrive("C:");
var Str = "Диск C:" + '\n' +
"AvailableSpace: " + DriveC.AvailableSpace + '\n' +
"DriveLetter: " + DriveC.DriveLetter + '\n' +
"DriveType: " + DriveC.DriveType + '\n' +
"FileSystem: " + DriveC.FileSystem + '\n' +
"FreeSpace: " + DriveC.FreeSpace + '\n' +
"IsReady: " + DriveC.IsReady + '\n' +
"Path: " + DriveC.Path + '\n' +
"RootFolder (Path): " + DriveC.RootFolder.Path + '\n' +
"SerialNumber: " + DriveC.SerialNumber + '\n' +
"ShareName: " + DriveC.ShareName + '\n' +
"TotalSize: " + DriveC.TotalSize + '\n' +
"VolumeName: " + DriveC.VolumeName;
WScript.Echo ( Str );
DriveLetter
Синтаксис
// Свойство. Только чтение. objDrive.DriveLetter
Возвращаемое значение
Строка - буква, ассоциированная с ресурсом.
Комментарии
Свойство DriveLetter возвращает строку нулевой длины (""), если указанный диск не ассоциирован с буквой диска, например, сетевой ресурс, не ассоциированный с буквой диска.
Пример
function ShowDriveLetter(drvPath)
{ var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + d.DriveLetter.toUpperCase( ) + ": - ";
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.AvailableSpace/1024 + " Kbytes";
return(s);
}
DriveType
Синтаксис
// Свойство. Только чтение. objDrive.DriveType
Возвращаемое значение
Число - определяет тип ресурса. Возможные значения:
- 0 - неизвестное устройство.
- 1 - устройство со сменным носителем.
- 2 - жёсткий диск.
- 3 - сетевой диск.
- 4 - CD-ROM.
- 5 - RAM-диск.
Пример
function ShowDriveType(drvpath)
{ var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(drvpath);
switch (d.DriveType)
{ case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM Диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
return(s);
}
FileSystem
Синтаксис
// Свойство. Только чтение. objDrive.FileSystem
Возвращаемое значение
cтрока - тип файловой системы (FAT, NTFS или CDFS).
Пример
function ShowFileSystemType(drvPath)
{ var fso,d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(drvPath);
s = d.FileSystem;
return(s);
}
FreeSpace
Синтаксис
// Свойство. Только чтение. objDrive.FreeSpace
Возвращаемое значение
Число - количество свободного места на диске в байтах.
Пример
function ShowFreeSpace(drvPath)
{ var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath.toUpperCase( ) + " - ";
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.FreeSpace/1024 + " Kbytes";
return(s);
}
IsReady
Синтаксис
// Свойство. Только чтение. objDrive.IsReady
Возвращаемое значение
Булево (число) - true, если устройство готово, иначе - false. Актуально для устройства со сменным носителем или CD-ROM.
Пример
function ShowDriveInfo(drvpath)
{ var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject")
d = fso.GetDrive(drvpath)
switch (d.DriveType)
{ case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM-диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
if (d.IsReady)
s += "<br>" + "Диск готов.";
else
s += "<br>" + "Диск не готов.";
return(s);
}
Path
Синтаксис
// Свойство. Только чтение. objDrive.Path
Возвращаемое значение
Строка - путь к диску (например, "C:", но не "C:\\").
Пример
function ShowFileAccessInfo(filespec)
{ var fso, d, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Path.toUpperCase() + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Просмотрен: " + f.DateLastAccessed + "<br>";
s += "Модифицирован: " + f.DateLastModified
return(s);
}
RootFolder
Синтаксис
// Свойство. Только чтение. objDrive.RootFolder
Возвращаемое значение
Объект Folder, соответствующий корневому каталогу диска.
Пример
function GetRootFolder(drv)
{ var fso,d;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.DriveExists(drv))
{ d = fso.GetDrive(drv);
return(d.RootFolder);
}
else
return(false);
}
SerialNumber
Синтаксис
// Свойство. Только чтение. objDrive.SerialNumber
Возвращаемое значение
Число - десятичный серийный номер диска.
Пример
function ShowDriveInfo(drvpath)
{ var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
switch (d.DriveType)
{ case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
s += "<br>" + "SN: " + d.SerialNumber;
return(s);
}
ShareName
Синтаксис
// Свойство. Только чтение. objDrive.ShareName
Возвращаемое значение
Строка - сетевое имя диска, если диск сетевой (иначе - пустая строка).
Пример
function ShowDriveInfo(drvpath)
{ var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
s = "Диск " + d.DriveLetter + ": - " + d.ShareName;
return(s);
}
TotalSize
Синтаксис
// Свойство. Только чтение. objDrive.TotalSize
Возвращаемое значение
Число - общий объём диска в байтах.
Пример
function SpaceReport(drvPath)
{ var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath + " - ";
s += d.VolumeName + "<br>";
s += "Всего места: "+ d.TotalSize/1024 + " Kb <br>";
s += "Свободно: " + d.FreeSpace/1024 + " Kb";
return(s);
}
VolumeName
Синтаксис
// Свойство. Чтение и запись. objDrive.VolumeName
Возвращаемое значение
Строка - метка тома диска.
Пример
function SpaceReport(drvPath)
{ var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath + " - ";
s += d.VolumeName + "<br>";
s += "Всего места: "+ d.TotalSize/1024 + " Kb <br>";
s += "Свободно: " + d.FreeSpace/1024 + " Kb";
return(s);
}