Как открыть файл через vbs
Перейти к содержимому

Как открыть файл через vbs

  • автор:

How to run a file using VisualBasicScript (.vbs)

The file is ‘file.bat’ and it’s located in the same dir as the .vbs.

6 Answers 6

Helen's user avatar

Usage to open file:

Even simplier This code works for all OS, I tried it in Windows 10 and it works so well: Try it by yourself 🙂

Alex Casal's user avatar

    The Overflow Blog
Linked
Related
Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.3.3.43278

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

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

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

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

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

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

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

Для записи данных в текстовый файл используйте методы 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.

VBS — Работа с файлами при помощи FSO

Как мы уже говорили, В VBS для работы с файловой системой существует FileSystemObject.

При помощи FSO можно работать с файлами. Алгоритм начала работы такой:

1. Объявляем переменную. Не обязательно такое же название, но оно наиболее логичное. А ещё, ваш код будет понятнее для других.

Dim FSO

2. Записываем в переменную FSO копию объекта FileSystemObject, который предназначен для работы с файловой системой Windows

Set FSO=CreateObject(«Scripting.FileSystemObject»)

Теперь, давайте ознакомимся с небольшим арсеналом методов:

FSO.GetBaseName(ПутьКФайлу) — Вернёт имя файла без расширения

FSO.GetExtensionName(ПутькФайлу) — Вернёт расширение файла

FSO.GetFileName(ПутьКФайлу) — Вернёт имя файла с расширением

FSO.GetParentFolderName(ПутьКФайлу) — Вернёт каталог, в котором находится файл

FSO.FileExists(ПутьКФайлу) — Проверяет, существует ли файл. Если да, то значение True.

FSO.GetTempName() — Возвращает случайное имя для временного файла

Для получения доступа к файлу необходимо выполнить fso.GetFile(ПутьКФайлу) в какую либо переменную. Например:

SET File=fso.GetFile(«C:\q1\q1.txt»)

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

File.Copy(ПолныйПуть) — Копировать файл в указанное место. Путь необходимо указывать полный, с названием файла и его расширением.

Например: File.Copy(«C:\q1\new\q1.txt»)

Так же мы можем:

File.Move(ПолныйПуть) — Перемещаем файл

File.Delete — удаляем полученный файл. Указывать путь не надо

Но самое полезное — работа с текстовым файлом, так называемое Text Stream.

TextStream

Итак, работа с текстом.

Не забываем, что в любом случае код наш начнётся с

Dim FSO

Set FSO=CreateObject(«Scripting.FileSystemObject»)

Теперь, давайте рассмотрим наши возможности:

1. Создание текстового файла

Set File=FSO.CreateTextFile(полный_путь_к_файлу)

2. Открытие текстового файла

Set txtfile = fso.OpenTextFile(«c:\test.txt»)

3. Чтобы добавлять в файл текст, нужно его открыть для записи

Set ts = fso.OpenTextFile(«c:\test.txt», ForWriting, True)

Set tfile = fso.GetFile(«c:\test1.txt»)

Set tf = tfile.OpenAsTextStream(ForWriting, True)

Теперь, давайте разберёмся, как записывать в файл текст. Для этого есть следующие методы:

Write — записывает символы в файл.
WriteLine — записывает строку в файл.
WriteBlankLines(число) — записывает пустые строки в файл.

Skip(число) — пропускает нужное число символов в строке.
SkipLine — пропускает строку.

Давайте приведём пример создания файла и записи в него текста.

ЗаписьВФайл

Как мы видим, строки 4, 5 и 6 запишут в одну строчку «Раз Два Три!». 7 строчка вставит 3 пустых строки, а 8 строчка кода добавит в файл строчку «Ёлочка гори!!» и перейдёт на след. строку. Ну и 9 строчка закроет файл.

Теперь поговорим про чтение из файла:

Read(число) — читает указанное количество символов из файла.
ReadLine — читает строку из файла.

ReadALL — читает всё содержимое

Skip(число) — пропускает нужное число символов в строке.
SkipLine — пропускает строку.

Приведём пример считывания текста из файла:

Считывание текста из файла

А так же есть не менее полезные вещи:

AtEndOfLine — Определяет достигнут ли конец строки(Boolean).
AtEndOfStream — Определяет достигнут ли конец файла(Boolean).
Column — номер текущего символа в строке.
Line — номер текущей строки.

Первые два метода можно использовать для условий того же Do While или Do Until. Например:

Do While Not File.AtEndOfLine

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

ЗАДАЧИ

Задача1: Дан текстовый файл со списком литературы. Заменить определённые числа в нём и сохранить изменение.

Задача2: Создать текстовый файл, заполненный случайными символами. Вывести его содержимое.

Задача3: Дан текстовый файл, найти в нём какие-либо символы и вывести, в какой строке и на каком месте они стоят.

Задача4: Осуществить поиск директории и вывести процесс выполнения в новый текстовый файл, после чего вывести его содержимое.

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

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