Файлы vbs. Что такое расширение файла VBS? Добавление данных в файл

В данной статье я расскажу про работу с файлами средствами VBS при помощи объекта FSO и File . В принципе все методы и свойства показанные здесь очень схожи с теми, что были в предыдущем уроке про работу с папками. Я бы даже сказал, что объект File — брат близнец объекта Folder. Данный урок будет полезен при создании VBS cтиллера для кражи паролей . Ну что, приступим.

Методы объекта FSO для работы с файлами

Опять напомню, что для работы нам понадобиться вызвать объект FileSystemObject . Без него наш сценарий VBS работать не будет.

CopyFile — копирует один или несколько файлов. Возможно использовать подстановочные знаки: “*” – любое количество символов и “?” – любой один символ.
Синтаксис: CopyFile(Source, Destination [, Overwrite])

  • Source — путь к файлу который копируем.
  • Destination — куда копируем.
  • Overwrite — не обязательный параметр. Перезаписывать существующие файлы (True) или нет (False). По умолчанию True. Если копируемый файл в папке имеет атрибут Read-Only, то возникает ошибка.

MoveFile — перемещает один или несколько фалов. Возможно использовать подстановочные символы. Если перемещаемый файл уже существует или является файлом в Destination, то выдаст ошибку.
Синтаксис: MoveFile(Source, Destination)

DeleteFile — Удаляет один или несколько файлов. Можно использовать подстановочные знаки.
Синтаксис: DeleteFile(Filespec [, Force])

  • Filespec — Путь к файлу.
  • Force — Не обязательный параметр. Удалять файлы с атрибутом read-only (True) или нет (False) . По умолчанию False.

А теперь наслаждаемся примером:

"Урок VBScript №13: "Работа с файлами (FSO) "file_1.vbs "******************************************************** Dim FSO, Text Set FSO = CreateObject("Scripting.FileSystemObject") FSO.CreateFolder "Папка с файлами" FSO.CreateFolder for i=1 to 9 Set Text = FSO.CreateTextFile(".\Папка с файлами\text_" & i & ".txt") next Text.Close MsgBox "Появилось 9 файлов и 1 папка в созданной папке - Папка с файлами" & vbCrlf & "Сейчас файлы будут скопированы в папку - Подкаталог" FSO.CopyFile ".\Папка с файлами\text_*", ".\Папка с файлами\Подкаталог", 0 MsgBox "файлы скопированы" & vbCrlf & "Сейчас произойдёт удаление старых файлов" FSO.DeleteFile ".\Папка с файлами\text*.txt", 1 MsgBox "Старые файлы удалены" & vbCrlf & "Перемещение новых файлов обратно" FSO.MoveFile ".\Папка с файлами\Подкаталог\*.txt", ".\Папка с файлами" MsgBox "Перемещение новых файлов обратно закончено" & vbCrlf & "Сейчас произодёт удаление всех файлов и папок" FSO.DeleteFolder ".\Папка с ф?йл*", 0

"********************************************************

"Урок VBScript №13:

"Работа с файлами (FSO)

"file_1.vbs

"********************************************************

Dim FSO , Text

FSO . CreateFolder "Папка с файлами"

FSO . CreateFolder ".\Папка с файлами\Подкаталог"

for i = 1 to 9

Set Text = FSO . CreateTextFile (".\Папка с файлами\text_" & i & ".txt" )

next

Text . Close

MsgBox "Появилось 9 файлов и 1 папка в созданной папке - Папка с файлами" & vbCrlf & "Сейчас файлы будут скопированы в папку - Подкаталог"

FSO . CopyFile ".\Папка с файлами\text_*" , ".\Папка с файлами\Подкаталог" , 0

MsgBox "файлы скопированы" & vbCrlf & "Сейчас произойдёт удаление старых файлов"

FSO . DeleteFile ".\Папка с файлами\text*.txt" , 1

MsgBox "Старые файлы удалены" & vbCrlf & "Перемещение новых файлов обратно"

FSO . MoveFile ".\Папка с файлами\Подкаталог\*.txt" , ".\Папка с файлами"

MsgBox "Перемещение новых файлов обратно закончено" & vbCrlf & "Сейчас произодёт удаление всех файлов и папок"

FSO . DeleteFolder ".\Папка с ф?йл*" , 0

GetBaseName — Вернёт имя указанного файла без расширения.

GetExtensionName — Возвращает расширение указанного файла.

GetFileName — Вернёт имя файла вместе с его расширение.

GetParentFolderName — Вернёт путь к указанному файлу.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_2.vbs "******************************************************** Dim FSO, File1, File2, File3, File4 Set FSO = CreateObject("Scripting.FileSystemObject") File1 = FSO.GetBaseName("C:\Papka\file.txt") File2 = FSO.GetExtensionName("C:\Papka\file.txt") File3 = FSO.GetFileName("C:\Papka\file.txt") File4 = FSO.GetParentFolderName("C:\Papka\file.txt") MsgBox File1 & vbCrlf & File2 & vbCrlf & File3 & vbCrlf & File4

"********************************************************

"Урок VBScript №13:

"Работа с файлами (FSO)

"file_2.vbs

"********************************************************

Dim FSO , File1 , File2 , File3 , File4

Set FSO = CreateObject ("Scripting.FileSystemObject" )

File1 = FSO . GetBaseName ("C:\Papka\file.txt" )

File2 = FSO . GetExtensionName ("C:\Papka\file.txt" )

File3 = FSO . GetFileName ("C:\Papka\file.txt" )

File4 = FSO . GetParentFolderName ("C:\Papka\file.txt" )

MsgBox File1 & vbCrlf & File2 & vbCrlf & File3 & vbCrlf & File4

FileExists — Проверяет наличие файла. Вернёт True если он есть и False в противном случае.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_3.vbs "******************************************************** Dim FSO, File Set FSO = CreateObject("Scripting.FileSystemObject") File = FSO.FileExists("C:\Windows\WindowsUpdate.Log") MsgBox "Файл WindowsUpdate.txt существует = " & File

"********************************************************

"Урок VBScript №13:

"Работа с файлами (FSO)

"file_3.vbs

"********************************************************

Dim FSO , File

Set FSO = CreateObject ("Scripting.FileSystemObject" )

File = FSO . FileExists ("C:\Windows\WindowsUpdate.Log" )

MsgBox "Файл WindowsUpdate.txt существует = " & File

GetTempName — Генерирует случайное имя файла, которое можно будет использовать для создания временных файлов.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_4.vbs "******************************************************** Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") MsgBox FSO.GetTempName()

GetFileVersion — Возвращает версию исполняемого файла.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_5.vbs "******************************************************** Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") MsgBox FSO.GetFileVersion("C:\Windows\write.exe") MsgBox FSO.GetFileVersion("C:\Program Files\WinRAR\WinRAR.exe")

"********************************************************

"Урок VBScript №13:

"Работа с файлами (FSO)

"file_5.vbs

"********************************************************

Dim FSO

Set FSO = CreateObject ("Scripting.FileSystemObject" )

MsgBox FSO . GetFileVersion ("C:\Windows\write.exe" )

MsgBox FSO . GetFileVersion ("C:\Program Files\WinRAR\WinRAR.exe" )

GetFile — Вернёт объект «File» из указанного пути.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_6.vbs "******************************************************** Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.GetFile("C:\File.txt") MsgBox File

На этом непосредственно с FSO мы закончили и теперь давайте перейдём к объекту «File»

Свойства объекта File для работы с файлами

Attributes — Вернёт атрибуты (набор флагов) файла.
Пример смотрите в статье « » — Всё аналогично, Но вместо «GetFolder» используем «GetFile» .

DateCreated — Вернёт дату создания файла

DateLastAccessed — Возвращает дату последнего доступа к файлу.

DateLastModified — Вернёт дату последней модификации (Редактирования) файла.

Drive — Название диска (объект «Drive») на котором расположен файл.

Name — Вернёт имя файла

ParentFolder — Вернёт объект «Folder» родительского каталога.

Path — Вернёт полный путь к файлу.

ShortName — Возвращает короткое имя файла в формате 8.3

ShortPath — Вернёт короткий путь к фалу в формате 8.3

Size — Вернёт размер файла.

Type — Вернёт тип файла.

"******************************************************** "Урок VBScript №13: "Работа с файлами (FSO) "file_6.vbs "******************************************************** Dim FSO, File Set FSO = CreateObject("Scripting.FileSystemObject") Set File = FSO.GetFile("C:\Windows\AppCompat\Appraiser\GatedDefaultCache.bin") MsgBox "Дата создания - " & File.DateCreated & vbCrLf _ & "Дата последнего доступа - " & File.DateLastAccessed & vbCrLf _ & "Дата последней модификации - " & File.DateLastModified & vbCrLf _ & "Диск - " & File.Drive & vbCrLf _ & "Имя файла - " & File.Name & vbCrLf _ & "Родительский каталог - " & File.ParentFolder & vbCrLf _ & "Путь к файлу - " & File.Path & vbCrLf _ & "Короткое имя 8.3 - " & File.ShortName & vbCrLf _ & "Путь в формате 8.3 - " & File.ShortPath & vbCrLf _ & "Тип файла - " & File.Type & vbCrLf _ & "Размер файла в байтах - " & File.Size

"********************************************************

"Урок VBScript №13:

"Работа с файлами (FSO)

"file_6.vbs

"********************************************************

Dim FSO , File

Set FSO = CreateObject ("Scripting.FileSystemObject" )

Set File = FSO . GetFile ("C:\Windows\AppCompat\Appraiser\GatedDefaultCache.bin" )

MsgBox "Дата создания - " & File . DateCreated & vbCrLf _

& "Дата последнего доступа - " & File . DateLastAccessed & vbCrLf _

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

Например, на данном рисунке выделен файл my-file.vbs , далее необходимо щелкнуть правой кнопкой мыши по этому файлу, и в меню файла выбрать опцию «сканировать с помощью AVG» . При выборе данного параметра откроется AVG Antivirus, который выполнит проверку данного файла на наличие вирусов.


Иногда ошибка может возникнуть в результате неверной установки программного обеспечения , что может быть связано с проблемой, возникшей в процессе установки. Это может помешать вашей операционной системе связать ваш файл VBS с правильным прикладным программным средством , оказывая влияние на так называемые «ассоциации расширений файлов» .

Иногда простая переустановка Microsoft Notepad может решить вашу проблему, правильно связав VBS с Microsoft Notepad. В других случаях проблемы с файловыми ассоциациями могут возникнуть в результате плохого программирования программного обеспечения разработчиком, и вам может потребоваться связаться с разработчиком для получения дополнительной помощи.


Совет: Попробуйте обновить Microsoft Notepad до последней версии, чтобы убедиться, что установлены последние исправления и обновления.


Это может показаться слишком очевидным, но зачастую непосредственно сам файл VBS может являться причиной проблемы . Если вы получили файл через вложение электронной почты или загрузили его с веб-сайта, и процесс загрузки был прерван (например, отключение питания или по другой причине), файл может повредиться . Если возможно, попробуйте получить новую копию файла VBS и попытайтесь открыть его снова.


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


Если ваш файл VBS связан с аппаратным обеспечением на вашем компьютере , чтобы открыть файл вам может потребоваться обновить драйверы устройств , связанных с этим оборудованием.

Эта проблема обычно связана с типами мультимедийных файлов , которые зависят от успешного открытия аппаратного обеспечения внутри компьютера, например, звуковой карты или видеокарты . Например, если вы пытаетесь открыть аудиофайл, но не можете его открыть, вам может потребоваться обновить драйверы звуковой карты .


Совет: Если при попытке открыть файл VBS вы получаете сообщение об ошибке, связанной с.SYS file , проблема, вероятно, может быть связана с поврежденными или устаревшими драйверами устройств , которые необходимо обновить. Данный процесс можно облегчить посредством использования программного обеспечения для обновления драйверов, такого как DriverDoc .


Если шаги не решили проблему , и у вас все еще возникают проблемы с открытием файлов VBS, это может быть связано с отсутствием доступных системных ресурсов . Для некоторых версий файлов VBS могут потребоваться значительный объем ресурсов (например, память/ОЗУ, вычислительная мощность) для надлежащего открытия на вашем компьютере. Такая проблема встречается достаточно часто, если вы используете достаточно старое компьютерное аппаратное обеспечение и одновременно гораздо более новую операционную систему.

Такая проблема может возникнуть, когда компьютеру трудно справиться с заданием, так как операционная система (и другие службы, работающие в фоновом режиме) могут потреблять слишком много ресурсов для открытия файла VBS . Попробуйте закрыть все приложения на вашем ПК, прежде чем открывать VBScript File. Освободив все доступные ресурсы на вашем компьютере вы обеспечите налучшие условия для попытки открыть файл VBS.


Если вы выполнили все описанные выше шаги , а ваш файл VBS по-прежнему не открывается, может потребоваться выполнить обновление оборудования . В большинстве случаев, даже при использовании старых версий оборудования, вычислительная мощность может по-прежнему быть более чем достаточной для большинства пользовательских приложений (если вы не выполняете много ресурсоемкой работы процессора, такой как 3D-рендеринг, финансовое/научное моделирование или интенсивная мультимедийная работа). Таким образом, вполне вероятно, что вашему компьютеру не хватает необходимого объема памяти (чаще называемой «ОЗУ», или оперативной памятью) для выполнения задачи открытия файла.

Мы надеемся, что помогли Вам решить проблему с файлом VBS. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Посещение этой страницы должно помочь Вам ответить конкретно на эти, или похожие вопросы:

  • Как открыть файл с расширением VBS?
  • Как провести конвертирование файла VBS в другой формат?
  • Что такое расширение формата файлов VBS?
  • Какие программы обслуживают файл VBS?

Если после просмотра материалов на этой странице, Вы по-прежнему не получили удовлетворительного ответа на какой-либо из представленных выше вопросов, это значит что представленная здесь информация о файле VBS неполная. Свяжитесь с нами, используя контактный формуляр и напишите, какую информацию Вы не нашли.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл VBS может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл VBS может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле VBS, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла VBS должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла VBS не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла VBS мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле VBS.


Имеются две основных категории операций с файлами:

  • Создание, добавление или удаление данных и чтение файлов

Создание файлов

Есть три способа создания пустого текстового файла (иногда называемого как «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 , в зависимости от задач, описанных в приведённой ниже таблице:

Для закрытия текстового файла используйте метод Close объекта TextStream . Закрыть файл можно также методом Close объекта 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 . Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:

Пример использования данных методов см. в разделе «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 имеет для каждой из операций перемещения, копирования или удаления файлов по два метода. Эти методы и задачи, решаемые с их помощью, описаны в приведённой ниже таблице:

Пример использования данных методов см. в разделе «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

Инструкция

Запустите файл с расширением *.vbs двойным кликом мыши или вызовите его по имени в консоли. Для этого зайдите в меню пуск/выполнить и наберите путь к необходимому файлу в открывшемся окошке. Это самый обычный текстовый документ, который легко можно править в . Данный метод самый понятный и простой, но иногда в силу определенных обстоятельств он не срабатывает (система не поддерживает формат, слетела кодировка и т.д.).

Если файл с расширением *.vbs , проверьте наличие интерпретаторов языка VBS. Их в системе должно быть два: консольный CScript и оконный WScript (вместе они – Windows Script Host или WSH). Они, по идее, должны сразу устанавливаться вместе с системой, но иногда так получается, что они либо повреждены, либо вообще не установлены (может быть на старых версиях систем). Если интерпретаторов нет в наличии, установите их на свой компьютер и запустите скрипт двойным щелчком мыши.

Создайте обыкновенный текстовый файл с расширением txt. Скопируйте туда данный текст:Sub Run(ByVal sFile)Dim shellSet shell = CreateObject("WScript.Shell")shell.Run Chr(34) & sFile & Chr(34), 1, falseSet shell = NothingEnd SubRun "C:/Program Files/FileZilla FTP Client/filezilla.exe"Естественно, путь заменяете своим исполняемым файлом. Затем переименуйте созданный ранее txt-файл на vbs расширение. Для проверки щелкните два раза по нему мышкой, и по указанному пути запустится программа.

Для того чтобы обратиться к методу Windows Script Host, укажите объект и метод с нужными параметрами (через точку). Свойства WSH указываете также, но их можно и назначать и считывать в переменные и остальные свойства. Всегда учитывайте тип данных свойств и переменных, в противном случае сценарий будет выдавать ошибку о несовместимости типов данных.

Написать или подобрать полезный веб-скрипт – это полдела, надо ещё найти способ его выполнить. Давайте рассмотрим подробнее, что нужно для исполнения наиболее распространённых типов скриптов.

Инструкция

Обязательным условием выполнения любого скрипта (то есть сценария), естественно, является наличие самого исполнителя. Применительно к языкам -программирования таким исполнителем будет интерпретатор скриптового языка. В зависимости от того, где должен исполняться сценарий, интерпретатор языка может быть либо частью серверного программного обеспечения, либо частью программного кода браузера. Поэтому чтобы выполнить любой серверный скрипт (например, php- или perl-скрипт) необходимо иметь запущенный сервер. Сервер можно подобрать в сети и у себя в . Очень популярен, к примеру, среди русскоязычных программистов из-за своей относительной простоты и бесплатности серверного программного обеспечения под названием «Денвер». А можно не морочиться с установкой у себя, а воспользоваться услугами хостинг-провайдера. Провайдер даст вам доступ к своему серверу, а все заботы по его поддержанию и обслуживанию вас не будут касаться. Обычно такие услуги платны, но не дороги.

По-другому обстоит дело с «клиентскими» скриптами. Это сценарии, которые должны выполняться прямо в браузере. Чтобы выполнить такой скрипт, написанный, например, на языке JavaScript кроме браузера да простого текстового редактора (подойдёт стандартный блокнот) ничего больше не требуется. Вот, к примеру, простейший скрипт: var now = new Date();