- 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); }