Как создать vbs файл
Создавайте скрипты в Блокноте
Хитрость при создании скрипта с помощью Блокнота заключается в изменении расширения файла. Вам нужно знать две вещи, прежде чем вы сможете начать. Во-первых, какой тип сценария вы создаете, т.е. это пакетный скрипт, скрипт PowerShell, сценарий VBS, AutoHotKey или что-то еще. Это важно, потому что тип сценария определяет формат файла, который вы должны использовать. Второе — это, конечно, правильное расширение файла, с которым необходимо сохранить скрипт.
Откройте приложение «Блокнот». Вставьте в сценарий, который вы хотите создать. Используйте сочетание клавиш Ctrl+ Shift + S, чтобы сохранить его. Здесь вы будете вводить имя скрипта и устанавливать его расширение. Поскольку мы используем Блокнот, он автоматически добавит «* .txt» в поле «Имя файла».
Первый способ, который можно использовать для изменения расширения, - это открыть выпадающий список «Тип файла» и выбрать из него «Все файлы (*. *)». Затем вы можете ввести имя файла и его новое расширение в поле «Имя файла», например, MyScript.ps1
Второй способ использует двойные кавычки. Вам не нужно менять выбор в любом раскрывающемся списке. Вместо этого введите имя скрипта и его расширение в поле «Имя файла» и заключите его в двойные кавычки (см. Скриншот ниже).
Третий способ заключается в изменении расширения файла после сохранения сценария в виде файла TXT. Сохраните сценарий в виде текстового файла и затем кликните его правой кнопкой мыши в проводнике. Выберите Переименовать. Не меняйте имя. Вместо этого удалите расширение и замените его тем, которое вы хотите использовать. Вы увидите на экране предупреждение о том, что изменение расширения может сделать файл непригодным для использования. Примите это, и расширение файла будет изменено. Миниатюра файла также будет обновлена в зависимости от типа файла.
Из этих трех способов вы можете выбрать все, что захотите. Блокнот - не единственный инструмент, который вы можете использовать для создания скриптов. На самом деле, если вам нужно написать сложный скрипт, используйте Notepad ++. Это гораздо более сложный инструмент, который может обрабатывать код лучше, чем простой текстовый редактор. Блокнот лучше всего использовать для простых сценариев и когда у вас нет других редакторов под рукой.
Есть три способа создания пустого текстового файла (иногда называемого как «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.
Многие книги по Web-программированию отрицают возможность создания и использование файлов на клиентском компьютере. однако, это совсем не так. Я в этом убедился, когда копаясь по документации VBScript и JavaScript, внезапно обнаружил эти функции. Недостаток их в том, что перед их выполнением IE и другие браузеры запрашивают подтверждение на их выполнение, но это и правильно, кто знает, что этот программист задумал ввести в файл. . Давайте теперь приступим к самим функциям.
1. Создание пустого файла.
На первый взглад эта функция может показаться бесполезной, однако, как вы занесете данные в файл, не имея самого файла, не будем же мы потртить фалы посетителя нашей страници. Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:
<script>
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:\testfile.txt", True)
</script>
Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:
<script>
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);
</script>
Вот теперь, создав чистый файл, можно приступить к его заполнению. .
2. Запись данных в файл.
а) Открытие файла.
Для того, чтобы открыть файл надо применить следующий скрипт:
Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)
Данный скипт написан на VBScript. Здесь по-моему все понятно. ForWriting - флаг, показывающий зачем открывать файл. Вот тот же скрипт на JavaScript:
var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
Надо отметить, что при этом файлы будут автоматически создаваться.
б) Непосредственная запись в файл.
Для занесения строчек текста в файл используется следующие методы:
Задача Метод
Втавка новой строки, с последующей возможностью добавления в этуже строку данных, т. е. в конце строки нет символов переноса строки и возврата каретки. Write
Втавка новой строки с переносом на следующую. WriteLine
Вставка одной или несколких пустых строк. WriteBlankLines
Прежде всего нужно сделать небольшое лирическое отступление… Смотрите, как создать текстовый файл рядовыми методами без программирования? В голову сразу приходит текстовый редактор Блокнот. Как и с любым каталогом, создать текстовый файл можно всего в два этапа: щелкаем правой кнопкой мыши по пустому месту на диске или в директории, далее из контекстного меню выбираем пункт "Создать/Текстовый документ", далее просто задаем имя файла и все. Но, в большинстве случаев достаточно открыть программу Блокнот и уже оттуда сохранить текстовый файл в нужном месте.
Хорошо, теперь можно приступить к программированию, но сначала, давайте рассмотрим параметры метода CreateTextFile, который и показывает как создать текстовый файл:
CreateTextFile (Filename [,Overwrite[, Unicode]]) – Видим, что метод принимает три параметра, только первый параметр является обязательным.
- Filename – Данный параметр содержит строку, которая определяет путь и имя для создаваемого текстового файла. Если указать только имя файла, то он будет создан в текущем каталоге (каталог, из которого произведен запуск сценария)
- Overwrite – Параметр является необязательным. Может принимать логическое true – перезаписать файл, если он уже существует или false – возможность перезаписи отсутствует. По умолчанию, стоит значение false.
- Unicode – Данный параметр не является обязательным, он определяет кодировку создаваемого текстового файла. Может принимать логическое значение true – формат Unicode или false – формат ASCII .
Хорошо, теперь можно приступить к программированию, но сначала небольшое пояснение.
Используя метод fso CreateTextFile, мы создаем не просто текстовый файл с данными, а произведем запись в поток. Поток – данное выражение присуще только файловой системе NTFS. Суть заключается в том, что к любому документу или даже диску можно привязать один или несколько потоков. Как создать новый текстовый файл. Например, идёт имя файла, двоеточие, имя потока. Поток, содержит имя и расширение.
Для эксперимента, откройте командную строку и пропишите следующий код:
В данном случае, к файлу new.txt будет привязан поток potok.txt и в него будет записана строка "Hello, word". Вы увидите, что документ содержит нулевой размер, и при попытке открыть его с помощью простого блокнота вы ничего не увидите. Для этого в окне "Пуск/Выполнить" нужно прописать:
Что то подобное мы сделаем с помощью сценариев.
Для начала создадим сценарий createtextfile vbs и пропишем в нем следующие строки кода:
Тут стоит обратить внимание на следующую особенность, если мы попытаемся с помощью функции OpenTextFile открыть документ my_file.txt, не прописав после него через двоеточие имя потока, то получим ошибку:
Ввод данных за пределами файла
Видимо, сервер Windows Script Host умеет определять, что в документе содержится скрытая информация. Также, вы заметили, что вместо функции MsgBox для вывода данных я использовал стандартную WScript.Echo . Не знаю почему, но MsgBox выводит только часть данных. Также, в данном примере я использовал собственную функцию CreateObject языка VBScript, а для освобождения ссылки на объект применил ключевое слово nothing .
А вот аналогичный сценарий createtextfile vbs, но уже на языке jscript:
В этом примере, мы просто привязали еще один поток к файлу. Фактически, один поток будет содержать содержимое скрипта на языке vbscript (createtextfile vbs), а другой – содержимое на языке jscript (createtextfile js).
И так, мы рассмотрели как создать текстовый файл программным путем с помощью метода CreateTextFile и с помощью стандартных средств Windows.
Спасибо за внимание. Автор блога Владимир Баталий
Читайте также: