Visual Basic Script


Windows Script Host (WSH). Чтение и редактирование файлов - часть 2


Write - записывает данные в файл в одну строку, без перевода курсора;
WriteLine - записывает в файл отдельную строку;
WriteBlankLines - записывает пустую строку (в качестве параметра принимает количество пустых строк, которые надо записать).

Вот небольшой пример их использования:

//JScript fso = new ActiveXObject("Scripting.FileSystemObject"); file = fso.OpenTextFile("c:\\TEST\\test.txt", 2, true); file.Write("Hello, World!"); file.WriteBlankLines(2); file.WriteLine("Hello");

Для чтения данных из файла используются методы:

Read - читает из файла указанное в качестве параметра количество символов;
ReadLine - читает строку из файла;
ReadAll - считывает весь файл;
Skip - пропускает указанное количество символов;
SkipLine - пропускает строку.

Давайте попробуем написать на основе этого один весьма полезный скрипт:

//JScript fso = new ActiveXObject("Scripting.FileSystemObject"); //Откроем файл на чтение //При необходимости поменяйте путь расположения файла file = fso.OpenTextFile("c:\\windows\\win.ini", 1, false);

//Предполагаем, что параметр run находится во 2-й строке //поэтому устанавливаем туда курсор, пропустив первую строку file.SkipLine(); //Считываем строку и сравниваем с пустой записью //Если они не совпадают, то бъем тревогу if (file.ReadLine()!="run=") { WScript.Echo("Параметр run не пустой!!!"); } //Это просто для контроля. В реальной работе можно отключить else { WScript.Echo("OK!"); }

Некоторые вирусы и трояны прописывают свой запуск в файле win.ini в параметре run. Этот скрипт проверяет, есть ли там какая-то запись, и если с помощью него что-то запускается, то скрипт об этом честно предупреждает. Конечно, это самый примитивный вариант, можно сделать, чтобы была проверка, действительно ли это параметр run, выводить его содержимое если он не пустой, но в учебных целях такого вполне достаточно. Прописываете его в автозагрузку и можете спать спокойно (только не сильно увлекайтесь "засорением" автозагрузки - хоть и не на много, но загружаться будет медленнее).




Начало  Назад  Вперед



Книжный магазин