Vbs - робота з файлами за допомогою fso, visual basic script

Отже, тепер ми дісталися до роботи з файлами.

Як ми вже говорили, В VBS для роботи з файловою системою існує FileSystemObject.

За допомогою FSO можна працювати з файлами. Алгоритм початку роботи такої:

1. Оголошуємо змінну. Не обов'язково таку саму назву, але воно найбільш логічне. А ще, ваш код буде зрозуміліше для інших.

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

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

FSO.GetBaseName (ПутьКФайлу) - повернеться ім'я файлу без розширення

FSO.GetExtensionName (ПутькФайлу) - повернеться розширення файлу

FSO.GetFileName (ПутьКФайлу) - повернеться ім'я файлу з розширенням

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

FSO.FileExists (ПутьКФайлу) - Перевіряє, чи існує файл. Якщо так, то значення True.

FSO.GetTempName () - Повертає випадкове ім'я для тимчасового файлу

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

Далі ми зможемо виконати для зазначеного файлу наступне:

Так само ми можемо:

File.Move (ПолнийПуть) - Переміщаємо файл

File.Delete - видаляємо отриманий файл. Вказувати шлях не треба

Але найкорисніше - робота з текстовим файлом, так зване Text Stream.

Отже, робота з текстом.

Не забуваємо, що в будь-якому випадку код наш почнеться з

Тепер, давайте розглянемо наші можливості:

1. Створення текстового файлу

2. Відкриття текстового файлу

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

3. Щоб додавати в файл текст, потрібно його відкрити для запису

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

Set tf = tfile.OpenAsTextStream (ForWriting, True)

Тепер, давайте розберемося, як записувати в файл текст. Для цього є такі методи:

Write - записує символи в файл.
WriteLine - записує рядок у файл.
WriteBlankLines (число) - записує порожні рядки в файл.

Skip (число) - пропускає потрібне число символів в рядку.
SkipLine - пропускає рядок.

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

Vbs - робота з файлами за допомогою fso, visual basic script

Як ми бачимо, рядки 4, 5 і 6 запишуть в одну строчку «Раз Два Три!». 7 рядок вставить 3 порожніх рядки, а 8 рядок коду додасть в файл рядок «Ялинка гори !!» і перейде на слід. рядок. Ну і 9 рядок закриє файл.

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

Read (число) - читає вказану кількість символів з файлу.
ReadLine - читає рядок з файлу.

ReadALL - читає весь вміст

Skip (число) - пропускає потрібне число символів в рядку.
SkipLine - пропускає рядок.

Наведемо приклад зчитування тексту з файлу:

Vbs - робота з файлами за допомогою fso, visual basic script

А так само є не менш корисні речі:

AtEndOfLine - Визначає чи досягнуто кінець рядка (Boolean).
AtEndOfStream - Визначає чи досягнуто кінець файлу (Boolean).
Column - номер поточного символу в рядку.
Line - номер поточного рядка.

Перші два методи можна використовувати для умов того ж Do While або Do Until. наприклад:

Do While Not File.AtEndOfLine

Останні два методи зручно використовувати для контролювання процесу зчитування, наприклад щоб при пошуку будь-якої інформації в момент позитивного результату знати, в який же сходинці ми знайшли шуканий текст і на якому символі. Це дозволить мінімізувати подальші витрати на заводяться змінні і на дії з ними.

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

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

Задача3: Дан текстовий файл, знайти в ньому будь-які символи і вивести, в якому рядку і на якому місці вони стоять.

Задача4: Здійснити пошук директорії і вивести процес виконання в новий текстовий файл, після чого вивести його вміст.

Схожі статті