Работа с файлами в VBScript
Имеются две основных категории операций с файлами:
  - Создание, добавление или удаление данных и чтение файлов
 
  - Перемещение, копирование и удаление файлов
 
Создание файлов
Есть три способа создания пустого текстового файла (иногда называемого как «text stream»).
Первый способ — это использование метода CreateTextFile. 
В следующем примере показано, как создать текстовый файл, используя этот метод:
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
Пример использования данного метода см. в разделе «3.7. Пример работы с объектом FileSystemObject».
 
Второй способ — это использование метода OpenTextFile объекта 
FileSystemObject с набором флагов ForWriting. 
В следующем примере показано, как создать текстовый файл, используя этот метод:
Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
Третий способ — это использование метода 
OpenAsTextStream 
с набором флагов 
ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод:
Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:\test1.txt")
Set f1 = fso.GetFile("c:\test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)
Добавление данных в файл
Однажды создав текстовый файл, вы можете добавлять в него данные, для чего нужно выполнить три действия:
  - Открыть текстовый файл
 
  - Записать данные
 
  - Закрыть файл
 
Для открытия существующего файла используйте метод 
OpenTextFile объекта 
FileSystemObject или метод 
OpenAsTextStream объекта 
File.
 
Для записи данных в текстовый файл используйте методы Write, 
WriteLine или WriteBlankLines объекта TextStream, 
в зависимости от задач, описанных в приведённой ниже таблице:
  
    | Задача | 
    Метод | 
  
  
    | Запись данных в текстовый файл без символа перехода на новую строку в конце | 
    Write | 
  
  
    | Запись данных в текстовый файл с символом перехода на новую строку в конце | 
    WriteLine | 
  
  
    | Запись одной или более пустых строк в открытый текстовый файл | 
    WriteBlankLines | 
  
	
Для закрытия текстового файла используйте метод Close объекта TextStream. 
Закрыть файл можно также методом Close объекта FileSystemObject. 
Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
ПРИМЕЧАНИЕ
Символ новой строки содержит символ или символы (зависит от операционной системы) 
для перевода курсора в начало новой строки (возврат каретки/перевод строки). 
Следует учитывать, что некоторые строки уже могут иметь в конце эти непечатаемые символы.
В следующем примере показано, как выполняется запись данных в открытый файл всеми тремя методами, 
затем файл закрывается:
Sub CreateFile()
  Dim fso, tf
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set tf = fso.CreateTextFile("c:\testwritefile.txt", True)
  ' Записать строку с переводом на новую строку.
  tf.WriteLine("Тестирование 1, 2, 3.") 
  ' Записать три пустых строки в файл.      
  tf.WriteBlankLines(3) 
  ' Записать строку
  tf.Write ("Это тест") 
  tf.Close
End Sub
 
Чтение файлов
Для чтения данных из файла используйте методы Read, ReadLine или 
ReadAll объекта TextStream. Эти методы и задачи, 
решаемые с их помощью, описаны в приведённой ниже таблице:
  
    | Задача | 
    Метод | 
  
  
    | Чтение указанного количества символов из файла | 
    Read | 
  
  
    | Чтение полной строки из файла (до символа конца строки, но не включая его) | 
    ReadLine | 
  
  
    | Чтение всего содержимого файла | 
    ReadAll | 
  
Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
Если вы используете методы Read или ReadLine и хотите 
пропустить определённую часть данных, то используйте методы Scip или 
ScipLine. Полученный в результате работы этих методов текст может быть 
сохранён в строку, которую можно отобразить на экране в элементе управления, 
передать в качестве параметра в строковую функцию (например, в Left, Right или Mid), соединить с другой строкой и т.п.
В следующем примере показано, как открыть файл, записать в него данные, а затем прочитать их:
Sub ReadFiles
  Dim fso, f1, ts, s
  Const ForReading = 1
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testreadfile.txt", True)
  ' Записать строку
  f1.WriteLine "Hello World"
  f1.WriteBlankLines(1)
  f1.Close
  ' Прочитать содержимое файла
  Set ts = fso.OpenTextFile("c:\testreadfile.txt", ForReading)
  s = ts.ReadLine
  MsgBox "Содержимое файла = '" & s & "'"
  ts.Close
End Sub
Перемещение, копирование и удаление файлов
Объектная модель FSO имеет для каждой из операций перемещения, копирования или 
удаления файлов по два метода. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:
  
    | Задача | 
    Метод | 
  
  
    | Перемещение файла | 
    File.Move или FileSystemObject.MoveFile | 
  
  
    | Копирование файла | 
    File.Copy или FileSystemObject.CopyFile | 
  
  
    | Удаление файла | 
    File.Delete или FileSystemObject.DeleteFile | 
  
Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».
В следующем примере создаётся текстовый файл в корневом каталоге диска С, записывается 
в него некоторая информация. Затем файл перемещается в директорию с именем \tmp, 
копируется в директорию \temp, а затем удаляются копии из обеих директорий.
Для проверки работы этого примера создайте в корневом каталоге диска С директории tmp и temp.
Sub ManipFiles
  Dim fso, f1, f2, s
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
  ' Записать строку
  f1.Write ("This is a test.")
  ' Закрыть файл для записи
  f1.Close
  ' Получиь дескриптор файла в корневом каталоге C:\.
  Set f2 = fso.GetFile("c:\testfile.txt")
  ' Переместить файл в каталог \tmp
  f2.Move ("c:\tmp\testfile.txt")
  ' Копировать файл в каталог \temp.
  f2.Copy ("c:\temp\testfile.txt")
  ' Получить дескрипторы файлов
  Set f2 = fso.GetFile("c:\tmp\testfile.txt")
  Set f3 = fso.GetFile("c:\temp\testfile.txt")
  ' Удалить файлы
  f2.Delete
  f3.Delete
  MsgBox "Все операции выполнены!"
End Sub