Создание файлов при помощи JavaScript и VBScript

1. Создание пустого файла

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

Для того, чтобы создать пустой файл с помощью VBSctipt надо написать в HTML-файле следующий код:

<script language="VBScript">
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:testfile.txt", True)
</script>

Ту же самую функцию выполняет и следующий код, написанный уже на JavaScirpt:

<script language="JavaScript">
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);

Надо отметить, что при этом файлы будут автоматически создаваться.

Вот примеры скриптов. На VBScript:

Sub CreateFile()
 Dim fso, tf
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set tf = fso.CreateTextFile("c:testfile.txt", True)
 ' Вставка строки с переносом на новую.
 tf.WriteLine("Testing 1, 2, 3.") 
 ' Вставка 3 путых строк.
 tf.WriteBlankLines(3)
 ' Вставка новой строки, без переноса.
 tf.Write ("This is a test.") 
 ' Закрытие файла.
 tf.Close
End Sub

На JavaScript:

function CreateFile()
{
 var fso, tf;
 fso = new ActiveXObject("Scripting.FileSystemObject");
 tf = fso.CreateTextFile("c:testfile.txt", true);
 // Вставка строки с переносом на новую.
 tf.WriteLine("Testing 1, 2, 3.") ;
 // Вставка 3 пустых строк.
 tf.WriteBlankLines(3) ;
 // Вставка новой строки, без переноса.
 tf.Write ("This is a test.");
 ' Закрытие файла.
 tf.Close();
}

Вот и все. Что с этим делом делать, вы наверное уже знаете. В мирных целях эта возможность создавать файлы на клиентских машинах очень полезна. Можно предложить посетителю скачать ваш фирменных значок и установить его в кчестве значка дика C, D, E, F, …, Z. Можно создать autorun для диска X, в котором будет прописана строка, которая позволит загружать ваш фирменный сайт при запуске этого диска. Сохранение настроек без использования cookies и т. д. и т.п. На этой оптимистической ноте я заканчиваю.

Спасибо за внимание.