Отже, тепер ми дісталися до роботи з файлами.
Як ми вже говорили, В 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 (робота) Vbs - робота з файлами за допомогою fso, visual basic script](https://images-on-off.com/images/153/vbsrabotasfaylamipripomoshifsovisualbasi-de537571.png)
Як ми бачимо, рядки 4, 5 і 6 запишуть в одну строчку «Раз Два Три!». 7 рядок вставить 3 порожніх рядки, а 8 рядок коду додасть в файл рядок «Ялинка гори !!» і перейде на слід. рядок. Ну і 9 рядок закриє файл.
Тепер поговоримо про читання з файлу:
Read (число) - читає вказану кількість символів з файлу.
ReadLine - читає рядок з файлу.
ReadALL - читає весь вміст
Skip (число) - пропускає потрібне число символів в рядку.
SkipLine - пропускає рядок.
Наведемо приклад зчитування тексту з файлу:
![Vbs - робота з файлами за допомогою fso, visual basic script (файлами) Vbs - робота з файлами за допомогою fso, visual basic script](https://images-on-off.com/images/153/vbsrabotasfaylamipripomoshifsovisualbasi-3a0bf6f3.png)
А так само є не менш корисні речі:
AtEndOfLine - Визначає чи досягнуто кінець рядка (Boolean).
AtEndOfStream - Визначає чи досягнуто кінець файлу (Boolean).
Column - номер поточного символу в рядку.
Line - номер поточного рядка.
Перші два методи можна використовувати для умов того ж Do While або Do Until. наприклад:
Do While Not File.AtEndOfLine
Останні два методи зручно використовувати для контролювання процесу зчитування, наприклад щоб при пошуку будь-якої інформації в момент позитивного результату знати, в який же сходинці ми знайшли шуканий текст і на якому символі. Це дозволить мінімізувати подальші витрати на заводяться змінні і на дії з ними.
Задача1: Дан текстовий файл зі списком літератури. Замінити певні числа в ньому і зберегти зміна.
Задача2: Створити текстовий файл, заповнений випадковими символами. Вивести його вміст.
Задача3: Дан текстовий файл, знайти в ньому будь-які символи і вивести, в якому рядку і на якому місці вони стоять.
Задача4: Здійснити пошук директорії і вивести процес виконання в новий текстовий файл, після чого вивести його вміст.