Работа с файлами
6.2. Работа с файлами
FileSystemObject (далее FSO) предоставляет некоторые возможности для работы с текстовыми файлами. Можно создавать, удалять, копировать и перемещать файлы.
Для создания текстового файла применяют метод CreateTextFile. Синтаксис:
FSO.CreateTextFile( [, overwrite[, unicode]])
где:
filename – имя создаваемого файла.
Необязательные параметры:
owerwrite – логический параметр (true или false), указывает, перезаписывать ли уже существующий файл с таким именем.
unicode – логический параметр (true или false), определяющий кодировку создаваемого файла. По умолчанию используется кодировка ASCII. Если принимает значение true – то файл создается в кодировке unicode.
VBScript:
Dim FSO, MyFile
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MyFile = fso.CreateTextFile("c:\testfile.txt", true)
JScript:
var FSO = new ActiveXObject("Scripting.FileSystemObject");
var MyFile = fso.CreateTextFile("c:\\testfile.txt", true);
Примечание. При использовании JScript, при указании пути, вместо одной косой черты (“\”) следует ставить две (“\\”). Это правило следует соблюдать, потому что интерпретатор, когда встречает в тексте сценария одну косую черту, ожидает что за ней последует спецсимвол JScript, (см.справочник JScript) и выдает сообщение об ошибке.
Для проверки существования файлов служит метод FileExists.
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists("c:\autoexec.bat")) Then
MsgBox "Файл autoexec.bat существует"
Else
MsgBox "Файл autoexec.bat не существует"
End If
JScript:
var FSO = new ActiveXObject("Scripting.FileSystemObject");
if (FSO.FileExists("c:\\autoexec.bat"))
WScript.Echo("Файл autoexec.bat существует");
else
WScript.Echo("Файл autoexec.bat не существует");
Для других операций над файлом, таких как копирование, перемещение и удаление файл должен быть сначала “получен” методом GetFile.
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set file1 = FSO.GetFile(“MyFile.txt”)
JScript:
var FSO = new ActiveXObject("Scripting.FileSystemObject");
var file1 = FSO.GetFile(“MyFile.txt”);
Для копирования, перемещения и удаления файлов объект FSO предоставляет несколько методов, в зависимости от того какой объект будет использоваться для операций FSO или file. Они показаны в следующей таблице.
Действие |
Объект.Метод |
Перемещение | File.Move или FileSystemObject.MoveFile |
Копирование | File.Copy или FileSystemObject.CopyFile |
Удаление | File.Delete или FileSystemObject.DeleteFile |
nbsp;
Копирование файлов.
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set file1 = FSO.CreateTextFile("c:\test.txt")
Set file2 = FSO.GetFile("c:\test.txt")
file2.Copy("c:\0\test1.txt")
JScript:
FSO = new ActiveXObject("Scripting.FileSystemObject");
var file1 = FSO.CreateTextFile("c:\\test.txt");
var file2 = FSO.GetFile("c:\\test.txt");
file2.Copy("c:\\0\\test1.txt");
Перемещение файлов осуществляется аналогично методу копирования.
Удаление файлов:
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set file1 = FSO.CreateTextFile("test.txt")
‘закрываем файл (см.работа с содержанием файла)
‘ если не закрыть файл, то он не может быть удален методом Delete
file1.Close
MsgBox "Файл создан"
Set file2 = FSO.GetFile("test.txt")
file2.Delete
MsgBox "Файл удален"
JScript:
FSO = new ActiveXObject("Scripting.FileSystemObject");
var file1 = FSO.CreateTextFile("test.txt");
//закрываем файл (см.работа с содержанием файла);
//если не закрыть файл, то он не может быть удален методом Delete
file1.Close();
WScript.Echo("Файл создан");
var file2 = FSO.GetFile("test.txt");
file2.Delete();
WScript.Echo("Файл удален");
Свойства файла
Синтаксис:
object.Size
где
object - File объект
С помощью объекта FSO нам доступны такие свойства файла, как его размер, время создания и т.д.
Size – возвращает размер файла в байтах
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
'получаем текущий файл:
Set file1 = FSO.GetFile(WScript.ScriptFullName)
'получаем размер:
fsize = file1.Size
MsgBox "Размер файла " & WScript.ScriptName &_
" : " & fsize &" килобайт"
JScript:
FSO = new ActiveXObject("Scripting.FileSystemObject");
//получаем текущий файл:
var file1 = FSO.GetFile(WScript.ScriptFullName);
//получаем размер:
var fsize = file1.Size;
WScript.Echo("Размер файла " + WScript.ScriptName +
" : " + fsize +" килобайт");
DateCreated – время создания файла
DateLastAccessed - время последнего обращения
DateLastModified - время последнего изменения
VBScript:
Set FSO = CreateObject("Scripting.FileSystemObject")
'получаем текущий файл:
Set file1 = FSO.GetFile(WScript.ScriptFullName)
‘получаем время создания:
DC = file1.DateCreated
info = "Файл " & WScript.ScriptName & " :" & Chr(10)
info = info & "Создан: " & DC & Chr(10)
‘ получаем время последнего открытия:
DLA = file1.DateLastAccessed
info = info & "Открыт: " & DLA & Chr(10)
‘получаем время последнего изменения:
DLM = file1.DateLastModified
info = info & "Изменен: " & DLM
MsgBox info
JScript:
FSO = new ActiveXObject("Scripting.FileSystemObject");
//получаем текущий файл:
var file1 = FSO.GetFile(WScript.ScriptFullName);
var info = "Файл " + WScript.ScriptName + "\n";
//получаем время создания:
DC = file1.DateCreated;
info += "Создан: " + DC + "\n";
//получаем время открытия:
DLA = file1.DateLastAccessed;
info += "Открыт: " + DLA + "\n";
//получаем время изменения:
DLM = file1.DateLastModified;
info += "Изменен: " + DLM;
WScript.Echo(info);
Назад по тексту | Содержание | Вперед по тексту
О проекте | История | E-mail |
Copyright (C) 2000 - 2001 Alex Neverov
#bn { DISPLAY: block } #bt { DISPLAY: block }