На этом шаге мы рассмотрим другие операции над папками.
Для копирования, перемещения и удаления папки используются следующие методы объекта файловой системы.
var folderpath1 = "С:\\Мои документы\\Теst1"; var folderpath2 = "C:\\Test2"; var fso = new ActiveXObject("Scripting.FileSystemObject"); // Создаем папку C:\Test2\Мои документы\Теst1 fso.CopyFolder(folderpath1, folderpath2); // Удаляем папку C:\Test2 fso. DeleteFolder(folderpath2); // Создаем папку C:\Program Files\Мои документы\Теst1 fso. MoveFolder(folderpath1,"C:\\Program Files");
Так же, как и в случае создания папки, при практическом копировании, перемещении или удалении папки необходимо сначала убедиться в том, что это действительно можно сделать. Следующая функция выполняет ряд проверок и в случае положительного результата удаляет папку:
// Удаление папки. Возвращает 0, если папка удалена // или не существует, и -1 - в противном случае. function deleteFolder(folderpath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); // Если папка не существует, то выход if (!fso.FolderExists(folderpath)) return 0; // Имя (буква) диска var disk = fso.GetDriveName(folderpath); // Если не подходит тип диска, то выход if (fso.GetDrive(disk).DriveType == 0 || fso.GetDrive(disk).DriveType == 4) return -1; // Удаляем папку. fso.DeleteFolder(folderpath); // Возвращаем результат проверки существования папки. return fso.FolderExists(folderpath); }
Результат работы функции приведен на рисунке 1.
Рис.1. Результат работы функции deleteFolder()
Приведем полный текст HTML-документа.
<HTML> <HEAD> <TITLE>Удаление папки</TITLE> <SCRIPT LANGUAGE="JavaScript"> <!-- // Удаление папки. Возвращает 0, если папка удалена // или не существует, и -1 - в противном случае. function deleteFolder(folderpath) { var fso = new ActiveXObject("Scripting.FileSystemObject"); // Если папка не существует, то выход if (!fso.FolderExists(folderpath)) return 0; // Имя (буква) диска var disk = fso.GetDriveName(folderpath); // Если не подходит тип диска, то выход if (fso.GetDrive(disk).DriveType == 0 || fso.GetDrive(disk).DriveType == 4) return -1; // Удаляем папку. fso.DeleteFolder(folderpath); // Возвращаем результат проверки существования папки. return fso.FolderExists(folderpath); } function f1(x) { if (deleteFolder(x)== -1) alert ("Папки с таким именем не существует"); else alert ("Папка удалена"); } //--> </SCRIPT> </HEAD> <BODY> <H2>Удаление папки</H2> <FORM NAME="frm1"> <INPUT TYPE="TEXT" SIZE="30" VALUE="C:\\Мои документы\\Test" NAME="pole"><BR> <INPUT TYPE="BUTTON" ONCLICK="f1(frm1.pole.value)" VALUE="Удалить папку"> </FORM> </BODY> </HTML>
Со следующего шага мы начнем знакомиться с организацией работы с файлами.