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
![]()
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 🙂
![]()
-
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: Осуществить поиск директории и вывести процесс выполнения в новый текстовый файл, после чего вывести его содержимое.