Windows Script Host (WSH) - файловая система - часть 3
Комментарии наглядно демонстрируют работу скрипта. Давайте только подробнее остановимся на создании файла (последняя строка). Вторым параметром передается значение true. Этот параметр является необязательным и указывает, перезаписывать ли файл с таким именем. Здесь же может передаваться и третий параметр. Если он отсутствует или равен false, то файл будет создан в кодировке ASCII. Если параметр равен true - в unicode.
В примере мы не просто создали папку и файл, но и создали объекты этой папки и файла (Folder и File соответственно). Если надо создать объект для уже существующей папки/файла, используйте метод GetFile/GetFolder:
var File1 = fso.GetFile("C:\\autoexec.bat");
К этим объектам применимы различные методы, позволяющие копировать, переименовывать, удалять файлы, получать о них различные сведения, устанавливать атрибуты. Как несложно догадаться для копирования, перемещения и удаления файлов и папок применяются методы Copy, Move и Delete. При этом в Copy и Move передается имя файла, в который надо скопировать/перенести исходный, а в Delete ничего не передается. Так, чтобы скопировать autoexec.bat в autoexec.tmp надо добавить строку
File1.Copy("C:\\autoexec.tmp");
Различные свойства объектов, созданных с помощью GetFile/GetFolder позволяют получить различные сведения о файлах и папках на которые они указывают. Вот эти свойства:
Size - возвращает размер файла/папки;
DateCreated - время создания;
DateLastAccessed - время последнего обращения к объекту;
DateLastModified - время последнего изменения.
Например:
WScript.Echo(File1.Size);
Бывают ситуации, когда надо получить имя файла, на который ссылается объект. Например:
var fso = new ActiveXObject("Scripting.FileSystemObject"); var File1 = fso.GetFile("C:\\autoexec.bat"); var File2 = fso.GetFile("C:\\config.sys"); var File3 = fso.GetFile("C:\\netlog.txt"); if (fso.FileExists("C:\\config.sys")) File1 = File2; else File1 = File3; WScript.Echo (File1.Name);