Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как создать vbs файл


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

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

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

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

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

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

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

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

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

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

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

Основы VBScript: Создание файла VBScript

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

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

Разделы по созданию файла с помощью VBScript

Создание файла, описанное на этой странице, является серединой серии из трех примеров FSO. Основы описаны в создании папок (страница 1), эта страница посвящена созданию файлов, а страница 3 посвящена чтению и записи текста в файл, который мы создали с помощью первых двух скриптов.

Наша миссия и цель

Наша миссия на этой странице ясна - создать файл. Естественно, нам нужна папка для хранения нашего файла, поэтому наш скрипт проверит, существует ли папка, а если нет, то наш код создаст папку.

Пример 1. Базовый сценарий VBScript для создания файла с помощью CreateTextFile

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

1-й запуск strDirectory = «E: \ logs»

2-й запуск strDirectory = «E: \ logs \ guy1»

3-й запуск strDirectory = «E: \ logs \ guy2

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

Предварительные требования

Это сценарий, который одинаково хорошо создает файл на сервере Windows или машине XP. Если вы получаете ошибки разрешений, я рекомендую вам войти в систему как администратор.

Инструкции по созданию файлов

  1. Скопируйте и вставьте приведенный ниже пример сценария в блокнот или редактор VBScript.
  2. Решите, нужно ли изменять значения для strFile и strDirectory.
  3. Сохраните файл с расширением .vbs, например: NewFile.vbs.
  4. Дважды щелкните NewFile.vbs и проверьте в проводнике Windows наличие strDirectory.

Пример VBScript для создания файла

  'NewFile.vbs 'Пример VBScript для создания файла с помощью FileSystemObject Автор Гай Томас https://computerperformance.co.uk/ Версия 1.6 - август 2010 г. '------------------------------------------------' Вариант явный Тусклый объект objFSO, objFSOText, objFolder, objFile Дим strDirectory, strFile strDirectory = "E: \ журналы \ guy1" strFile = "\ Лето.текст" 'Создание объекта файловой системы Установите objFSO = CreateObject ("Scripting.FileSystemObject") 'Создать папку, указанную strDirectory в строке 10 Установите objFolder = objFSO.CreateFolder (strDirectory) '- Сердце скрипта создания файла '----------------------- 'Создает файл, используя значение strFile в строке 11 '----------------------------------------------- Установите objFile = objFSO.CreateTextFile (strDirectory & strFile) Wscript.Echo "Только что создано" & strDirectory & strFile Wscript.Уволиться 'Конец примера FileSystemObject: NewFile VBScript  

Учебное пособие по VBScript - Очки обучения

Примечание 1: Все сценарии FSO начинаются с создания объекта файловой системы с
CreateObject («Scripting.FileSystemObject»). Вам действительно нужно слово «Scripting»

Note 2: Конкретный метод создания файла называется: .CreateTextFile.

Примечание 3: Обратите внимание, что мы также использовали родственный метод CreateFolder.Фактически, это вызывает проблему, если вы запускаете скрипт во второй раз, потому что он генерирует ошибку 800A003A "файл существует". Итак, в примере 2 мы собираемся ввести код с исправлением ошибок.

Guy рекомендует: Network Performance Monitor (БЕСПЛАТНАЯ ПРОБНАЯ ПЕРЕДАЧА)

SolarWinds Network Performance Monitor ( NPM) поможет вам узнать, что происходит в вашей сети. Эта утилита также поможет вам в устранении неполадок; на приборной панели будет указано, является ли основная причина неисправной ссылкой, неисправным оборудованием или перегрузкой ресурсов.

Что мне больше всего нравится, так это то, как NPM предлагает решения сетевых проблем. Он также имеет возможность отслеживать состояние отдельных виртуальных машин VMware. Если вы заинтересованы в устранении неполадок и создании сетевых карт, я рекомендую вам попробовать NPM в 30-дневной бесплатной пробной версии.

SolarWinds Network Performance Monitor Скачать 30-дневную БЕСПЛАТНУЮ пробную версию

Пример 2 - Создание файла с кодом исправления ошибок

Этот сценарий намного лучше, чем примитивный пример 1.Моя идея - добавить код, который справляется с ситуациями, когда папка уже существует. Он также использует objShell для запуска проводника Windows, чтобы вы могли проверить правильность работы сценария.

Пример сценария для создания файла и проверки его существования

  'NewFileEC.vbs 'Пример VBScript для создания файла с кодом исправления ошибок Автор Гай Томас https://computerperformance.co.uk/ 'Файл создания VBScript '------------------------------------------------' Вариант явный Тусклый objFSO, objFolder, objShell, objFile Дим strDirectory, strFile strDirectory = "е: \ журналы" strFile = "\ Лето.текст" 'Создание объекта файловой системы Установите objFSO = CreateObject ("Scripting.FileSystemObject") 'Убедитесь, что папка strDirectory существует Если objFSO.FolderExists (strDirectory) Тогда Установите objFolder = objFSO.GetFolder (strDirectory) Еще Установите objFolder = objFSO.CreateFolder (strDirectory) WScript.Echo "Только что создано" & strDirectory Конец, если Если objFSO.FileExists (strDirectory & strFile) Тогда Установите objFolder = objFSO.GetFolder (strDirectory) Еще Установите objFile = objFSO.CreateTextFile (strDirectory & strFile) Wscript.Echo "Только что создано" & strDirectory & strFile Конец, если установить objFolder = ничего установить objFile = ничего Если err.number = vbEmpty, тогда Установите objShell = CreateObject ("WScript.Shell") objShell.run ("Проводник" & "" & strDirectory & "\") Иначе WScript.echo "Ошибка VBScript:" & номер ошибки Конец, если WScript.Quit 'Конец VBScript для создания файла с кодом исправления ошибок  

См. Также элемент вызова PowerShell.

Гай рекомендует: Network Config Generator (БЕСПЛАТНЫЙ ИНСТРУМЕНТ)

SolarWinds Network Config Generator - это бесплатный инструмент, который позволяет вам контролировать изменения в сетевых маршрутизаторах и других устройствах SNMP.Повысьте производительность своей сети, активируя уже оплаченные функции сетевого устройства.

Гай говорит, что для новичков самым большим преимуществом этого бесплатного инструмента является то, что он даст вам стимул узнать больше о настройке службы SNMP с ее «ловушками» и «сообществами». Попробуйте Config Generator сейчас - это бесплатно!

SolarWinds Network Config Generator Загрузить 100% БЕСПЛАТНЫЙ инструмент

Учебное пособие по VBScript - Очки обучения

Примечание 1: Если вы не добавите код исправления ошибок, то существует реальная опасность того, что повторный запуск сценария приведет к разрушению исходный файл.Что делает .FileExists, так это проверяет, существует ли уже файл с именем, указанным в strFile.

Примечание 2: Этот сценарий также содержит код, который защищает от уже существующей папки - FolderExists.

Примечание 3: Крошечный пункт, но скрипт выдает ошибку при первом запуске, если я не добавил set objFolder и objFile = ничего. Вот пример, когда я всегда узнаю больше, когда что-то идет не так. Я давно знал, что должен аннулировать объекты, когда закончу их, но безделье и желание сделать сценарий коротким означают, что я пропустил этот набор objxyz = ничего из других сценариев.Иногда мне это сходит с рук, но не в этом примере.

Примечание 4: objShell = CreateObject («WScript.Shell») - это мой способ показать, что сценарий достиг своей цели. Активный номинал

.

vbscript - Как создать exe-файл с помощью VBS

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

vbscript - Создать файл vbs из командного файла

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
.

vbscript - Создайте текстовый файл в% temp% и запишите в него содержимое, используя vbs

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
.

Смотрите также