Visual Basic Script

       

Работа с файлами



         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 }


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