Windows vbs script file

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

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

  • Создание, добавление или удаление данных и чтение файлов
  • Перемещение, копирование и удаление файлов

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

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

Первый способ — это использование метода CreateTextFile. В следующем примере показано, как создать текстовый файл, используя этот метод: Пример использования данного метода см. в разделе «3.7. Пример работы с объектом FileSystemObject».

Второй способ — это использование метода OpenTextFile объекта FileSystemObject с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод: Третий способ — это использование метода OpenAsTextStream с набором флагов ForWriting. В следующем примере показано, как создать текстовый файл, используя этот метод:

Добавление данных в файл

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

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

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

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

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

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

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

В следующем примере показано, как выполняется запись данных в открытый файл всеми тремя методами, затем файл закрывается:

Чтение файлов

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

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

Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

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

В следующем примере показано, как открыть файл, записать в него данные, а затем прочитать их:

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

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

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

Пример использования данных методов см. в разделе «3.7. Пример работы с объектом FileSystemObject».

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

Для проверки работы этого примера создайте в корневом каталоге диска С директории tmp и temp.

Windows vbs script file

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

Читайте также:  Windows или linux вопросы

Методы объекта 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copy — копирует файл в указанное место. Так же можно изменять название файла.
Синтаксис: Copy(Destination [, Overwrit])

  • Destination — Путь куда сохранять.
  • Overwrit — Необязательный параметр. Число. Заменять файл если он существует (True) или нет (False)

Move — Перемещает файл в указанное место. Так же можно изменять название файла.

Delete — Удаляет указанный файл.
Имеет один не обязательный параметр. Число. Удалять файл если он имеет атрибут только для чтения (Read Only) — True; нет — False.

Прошу прощения за этот вялый пример, но мне было лень придумывать что то, так как и так всё понятно.

На этом я заканчиваю тему про работу с папками (FSO). Впереди ещё много нового о программирование VBS. Удачи!

Как прочитать / записать текстовый файл построчно на VBS

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

Чтение текстового файла на VBScript

Первый способ

Воспользоваться OpenTextFile. Например, прочитаем файл test.txt

OpenTextFile(filename [,iomode [,create [,format]]])

filename — имя файла который необходимо прочитать

iomode — режим открытия файла (1 — только чтение, 2 — для записи (если уже существует, будет перезаписан), 8 — для добавления)

create — true — создать файл, если он не существует, false — не создавать

format — кодировка (-2 — кодировка ОС по умолчанию, -1 — Unicode, 0 — ASCII)

Непосредственно для чтения самих данных из текстового файла можно воспользоваться одним из следующих операторов:

  • Read — чтение определенного количества символов независимо от конца строки (количество символов указывается в скобках после оператора)
  • ReadLine — прочитать строку полностью до конца (до символов перевода строки), т.е. построчное чтение текстового файла
  • ReadAll — прочитать весь файл целиком за раз, включая символы переноса строки.

Эти же приемы чтения файла можно использовать и в следующем способе.

Читайте также:  Acer aspire one windows boot manager

Второй способ

Использовать GetFile и OpenAsTextStream. Принцип чтения такой же как и в первом способе, просто другой вариант открытия файла.

В скобках оператору OpenAsTextStream передается режим открытия файла iomode, который описан выше. Так же можно передать второй параметр, который будет означать кодировку format.

Запись текстового файла на VBScript

Создать и записать текстовый файл можно использовав один из трех операторов:

  1. CreateTextFile
  2. OpenTextFile
  3. OpenAsTextStream

Пример использования CreateTextFile

Второй параметр указывает перезаписать или нет файл, если он существует. Так же можно добавить 3-й параметр, который будет означать кодировку (True — Unicode и False — ASCII)

Пример использования OpenTextFile

Здесь использован режим записи 8, т.е. добавление в существующий файл дополнительных строк, при этом, если файла не существует, он будет создан, т.к. третий параметр True.

Пример использования OpenAsTextStream

Здесь мы создаем файл и записываем в него текст. Если файл уже существовал, он будет перезаписан.

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

  • Write — записать текст в файл без символов перевода строки
  • WriteLine — записать текст в файл и добавить символы перевода строки (построчная запись в файл)
  • WriteBlankLines — записать в файл указанное количество пустых строк

Думаю, предложенных способов вполне достаточно для чтения / записи текстовых файлов. Пожелания и замечания оставляйте в комментариях ниже.

Как устранить ошибку Windows Script Host «Не удается найти указанный файл»?

Привет, сейчас речь пойдет об ошибке Windows Script Host «Не удается найти указанный файл», которая возникает в операционных системах Windows, а также мы разберем причины возникновения данной ошибки и что нужно делать, чтобы подобного рода ошибки не появлялись в будущем.

Чтобы сразу было понятно, о каких ошибках мы сейчас будем разговаривать, давайте посмотрим на окно с этой ошибкой.

Название и путь к файлу сценария могут быть разными, все зависит от фантазии разработчика, имя скрипта может быть простым, непонятным набором букв или замаскированным под системный файл, чтобы Вы подумали, что так оно и есть, в данном случае это — «C:\ProgramData\SystemService.vbs». Операционная система в этом случае, скорей всего, нормально загружается, но бывает, что во время загрузки операционной системы появляется похожая ошибка и все, рабочий стол не запускается. Это относится к таким ошибкам как – «Не удается найти файл сценария C:\Windows\run.vbs».

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

Причины возникновения ошибки Windows Script Host «Не удается найти указанный файл»

Из информации, которая отображена в окне ошибки, мы понимаем, что система пытается запустить некий скрипт WSH (Windows Script Host), о том, что это такое, можете почитать в материале – «Основы языка JScript — написание WSH скриптов». При этом система не может его найти, это означает, что он был удален, перемещен, в общем, его нет. Теперь возникают вопросы, для чего нужен этот скрипт? И кем он был удален?

То, что данного скрипта больше нет, на самом деле неплохо, так как данный скрипт — это часть вируса, который был в Вашей системе, скорей всего его удалила антивирусная программа. В том, что вирус попал в систему, виноваты Вы, так как подобные вирусы заражают компьютер после определенных Ваших действий, например, Вы скачали музыку в формате exe и запустили данный файл или другие подобные действия, которые могут подвергать Ваш компьютер опасности (посещение сомнительных сайтов и скачивание таких же данных).

Примечание! Существуют и другие причины появления ошибок Windows Script Host, но они менее распространены, в данном материале речь идет именно об ошибках, связанных с вредоносными скриптами.

Что делать, чтобы такие ошибки не появлялись?

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

Что для этого нужно:

  • Наличие антивирусной программы с актуальными базами данных, т.е. она должна постоянно обновляться. Также необходимо периодически запускать полную проверку компьютера на наличие вирусов. Если не хотите платить за антивирус, можно использовать и бесплатные варианты, для домашнего компьютера они, на самом деле, не так плохи. Несколько лет назад в материале «Какой антивирус установить себе на домашний компьютер?» я рассматривал различные антивирусные решения и представил перечень продуктов, которые заслуживают внимания, основывался я на рейтингах, отзывах и на собственном опыте работы с антивирусами, поэтому если кому интересна эта информация, можете ознакомиться;
  • В большинстве случаев за компьютером работают от имени учетной записи с правами администратора. Но это неправильно, так как права администратора нужны только для выполнения административных задач, в некоторых случаях для Вас это может быть не очень удобно, но большинству вирусов, для того чтобы сделать то, для чего они были разработаны, нужны как раз права администратора. И если Вы работаете с правами администратора, то для вирусов это идеальные условия, так как они без проблем могут установить что-нибудь, изменить параметры системы и так далее. Поэтому рекомендуется работать от имени пользовательской учетной записи, а права администратора использовать при необходимости (Вам нужно просто создать отдельную пользовательскую учетную запись и работать от ее имени);
  • Не стоит посещать сомнительные сайты, скачивать файлы, формат которых не соответствуют своему назначению, например, как я уже говорил музыку в формате exe, как Вы понимаете, аудио файлов в таком формате быть не может. Это также относится и к играм, т.е. не нужно скачивать игры из непроверенных источников. Другими словами, данный пункт подразумевает быть немного осторожней, когда пользуетесь Интернетом и пытаетесь скачать какие-то данные.
Читайте также:  Линукс для работы с сетями

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

Устранение ошибки, когда рабочий стол доступен

Если у Вас система загружается и потом появляется ошибка, т.е. Вы видите рабочий стол и меню пуск, то скорей всего скрипт вызывается планировщиком заданий Windows. Например, ошибка «Не удается найти файл сценария C:\ProgramData\SystemService.vbs» — это последствия вируса, который как раз использовал планировщик для запуска скрипта. Существуют и другие способы запуска таких вредоносных скриптов, это и автозагрузка, и групповые политики, но они менее распространены, в автозагрузку сейчас, наверное, уже никто не помещает свои вредоносные программы или скрипты.

Итак, для того чтобы устранить ошибку нам нужно выяснить, как запускается скрипт, как я уже сказал, начинаем искать в планировщике заданий. Для этого запускаем его, нажимаем «Меню Пуск -> в поиске пишем Планировщик заданий»

Затем у нас возникает небольшая сложность, нам нужно найти задание, которое запускало скрипт и удалить его. Удалять все подряд не нужно, поэтому перед удалением убедитесь, что на вкладке «Действия» в строке запуск программы указан как раз тот путь, который нам показывает ошибка, т.е. в нашем случае это — «C:\ProgramData\SystemService.vbs».

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

Задание может располагаться в отдельном разделе, причем этот раздел может быть замаскирован под системный, но не совсем, например, раздел «Windowss», как видите, — в названии ошибка (две буквы s), поэтому сразу проверяйте этот каталог.

После того как Вы нашли нужное задание или задания можете смело удалять его, затем перезагружайтесь, после чего ошибка должна исчезнуть.

Если задание Вы не нашли, то можете проделать действия, которые описаны ниже (т.е. проверить реестр).

Устранение ошибки, когда рабочий стол не запускается

В данном случае Вы включаете компьютер, и у Вас появляется ошибка, рабочий стол при этом Вы не видите. К таким ошибкам можно отнести ошибку — «Не удается найти файл сценария C:\Windows\run.vbs».

В этом случае вирус поработал с реестром, а именно изменил параметры запуска системы.

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

  1. Нажимаем сочетание клавиш ctrl+alt+del;
  2. Выбираем пункт «Запустить диспетчер задач»;
  3. В меню нажимаем «Файл -> Новая задача (Выполнить…)»;
  4. В поле открыть вводим «explorer.exe».

После этого рабочий стол запустится.

Теперь запускаем редактор реестра. Для этого нажимаем «Пуск -> в поиск вводим regedit».

Затем находим раздел

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon для 32 разрядных систем

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows для 64 разрядных.

И проверяем параметры Shell и Userinit. Их значения должны равняться «explorer.exe» и «C:\Windows\system32\userinit.exe,» соответственно.

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

У меня на этом все, если Вы столкнулись с подобного рода ошибкой и устранили ее каким-то другим образом, поделитесь решением с другими в комментариях. Пока!

Оцените статью