С помощью VBS можно манипулировать файлами, каталогами и, даже дисками. Конечно функционал весьма ограничен, но для рутинной работы вполне подходит. 

Файлы

Для работы с файловой системой в VBS используется модель FSO.

создать

Есть три способа создания пустого текстового файла (иногда называемого как «text stream»).

Первый способ — это использование метода CreateTextFile

Второй способ — это использование метода OpenTextFile объекта FileSystemObject с набором флагов ForWriting.

Третий способ — это использование метода OpenAsTextStream с набором флагов ForWriting.

 

запись

Однажды создав текстовый файл, вы можете добавлять в него данные, для чего нужно выполнить три действия:

  • Открыть текстовый файл
  • Записать данные
  • Закрыть файл

Для открытия существующего файла используйте метод OpenTextFile объекта FileSystemObject или метод OpenAsTextStream объекта File.

Для записи данных в текстовый файл используйте методы Write, WriteLine или WriteBlankLines объекта TextStream, в зависимости от задач, описанных в приведённой ниже таблице:

Запись данных в текстовый файл без символа перехода на новую строку в конце Write
Запись данных в текстовый файл с символом перехода на новую строку в конце WriteLine
Запись одной или более пустых строк в открытый текстовый файл WriteBlankLines

Для закрытия текстового файла используйте метод Close объекта TextStream. Закрыть файл можно также методом Close объекта FileSystemObject. Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

ПРИМЕЧАНИЕ
Символ новой строки содержит символ или символы (зависит от операционной системы) для перевода курсора в начало новой строки (возврат каретки/перевод строки). Следует учитывать, что некоторые строки уже могут иметь в конце эти непечатаемые символы.

Mexanik

 

 

чтение

Для чтения данных из файла используйте методы Read, ReadLine или ReadAll объекта TextStream.

Чтение указанного количества символов из файла Read
Чтение полной строки из файла (до символа конца строки, но не включая его) ReadLine
Чтение всего содержимого файла ReadAll

Если вы используете методы Read или ReadLine и хотите пропустить определённую часть данных, то используйте методы Scip или ScipLine. Полученный в результате работы этих методов текст может быть сохранён в строку, которую можно отобразить на экране в элементе управления, передать в качестве параметра в строковую функцию (например, в Left, Right или Mid), соединить с другой строкой и т.п.

 

Перемещение, копирование и удаление файлов

Объектная модель FSO имеет для каждой из операций перемещения, копирования или удаления файлов по два метода. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:

Перемещение файла File.Move или FileSystemObject.MoveFile
Копирование файла File.Copy или FileSystemObject.CopyFile
Удаление файла File.Delete или FileSystemObject.DeleteFile

Создаём текстовый файл в корневом каталоге диска С, записываем в него некоторую информацию. Затем файл перемещаем в директорию с именем \tmp, копируем в директорию \temp, а затем удаляем копии из обеих директорий.

Дополнение:

To Write
Set objFileToWrite = CreateObject(“Scripting.FileSystemObject”).OpenTextFile(“C:\file.txt”,2,true)
objFileToWrite.WriteLine(data)
objFileToWrite.Close
Set objFileToWrite = Nothing

или

Sub writeTxtFile(fPath, str, mode) ‘пишет строку в текстовый файл
Set fso = CreateObject(«Scripting.FileSystemObject»)
Set file = fso.OpenTextFile(fPath, mode, True)’create file
file.Write(str)
file.Close
End Sub

To Read the entire file
Set objFileToRead = CreateObject(“Scripting.FileSystemObject”).OpenTextFile(“C:\file.txt”,1)
strFileText = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing

To Read line by line
Set objFileToRead = CreateObject(“Scripting.FileSystemObject”).OpenTextFile(“C:\file.txt”,1)
Dim strLine
do while not objFileToRead.AtEndOfStream
strLine = objFileToRead.ReadLine()
‘Do something with the line
loop
objFileToRead.Close
Set objFileToRead = Nothing

OpenTextFile parameters:
IOMode
1=Read
2=write
8=Append

Create (true,false)
Format (-2=System Default,-1=Unicode,0=ASCII)


Каталог

Для работы с каталогами в vbs-скрипте необходимо создать объект FileSystemObject, который предоставляет методы для создания, удаления и получения ссылок на каталоги. Например, метод .GetFolder(), принимая в качестве аргумента путь, возвращает объект папки Folder. Коллекции Files и SubFolders объекта Folder дают доступ ко всем дочерним файлам и папкам, находящимся в определенном каталоге. Это позволяет, например, рекурсивно обойти все вложенные в него элементы

создать

 

удалить

Дополнение:

Option Explicit
Dim fso
Set fso = CreateObject(«Scripting.FileSystemObject») ‘To Copy a file
fso.CopyFile «LOCATION», «NEW LOCATION» ‘To Copy a folder
fso.CopyFolder «LOCATION», «NEW LOCATION» ‘To Move a file
fso.MoveFile «LOCATION», «NEW LOCATION» ‘To Move a folder
fso.MoveFolder «LOCATION», «NEW LOCATION»
 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *