div.main {margin-left: 20pt; margin-right: 20pt}
HTML Приложения
ch_pasha@yahoo.com
Microsoft Internet Explorer 5, являясь жизнеспособной платформой разработок на
базе Microsoft Windows, предоставляет возможность создавать HTML приложения.
HTA являются полноценными приложениями. Эти приложения вполне надежны, они отображают
только меню, иконки, панели инструментов, и заголовочную информацию, создаваемые
Web-разработчиком.Говоря вкратце, HTA объединяют в себе всю мощь Internet Explorer -
его объектную модель, производительность, мощь рендеринга, поддержку протоколов,
и технологию загрузки каналов - все это без нарушения строгой модели безопасности
и пользовательского интерфейса броузера.
Исторически, языки программирования типа C++ и MicrosoftR Visual Basic
предоставляли объектные модели и доступ к ресурсам системы, в которых
нуждаются разработчики.
С появлением HTA пришло время добавить динамический HTML (DHTML) со скриптами
к этому списку. HTA не только поддерживают все средства, поддерживаемые Web страницами
а именно HTML, каскадные листы стилей (CSS), скрипты и события, но также
специфическую функциональность HTA.
Добавление этой функциональности обеспечивает контроль над разработкой пользовательского
интерфейса и доступ к пользовательской системе. Более того, будучи выполняемым как
доверительное приложение, HTA не является объектом для ограничений безопасности,
накладываемых на Web страницы. Как и при запуске любого выполнимого файла,
перед загрузкой HTA пользователя спрашивают только раз, сохранить приложение или выполнить.
Будучи сохраненным в пользовательской системе, файл может быть выполнен по желанию
пользователя в любое другое время.
Конечным результатом является то, что HTA выполняется также, как и любой выполнимый
файл (.exe), написанный на C++ или Visual Basic.
HTA подходят для различных применений, пишите ли вы прототипы, создаете волшебники
(wizards), или создаете полноценные приложения. Все, что в данный момент
предоставляют DHTML и скрипты: формы, мультимедиа, Web приложения, HTML редакторы,
и броузеры - доступно для HTA...и еще кое-что.
Но самое лучшее то, что HTA упрощают многие задачи. Простота создания прототипов
,используя HTA, делает возможным для менеджеров ПО и дизайнеров писать сценарии для
диалоговых окон и предупреждений, в то время как разработчики на C++ или Visual Basic
программируют основную функциональность.
Создайте HTA написав HTML страницу и сохранив ее с расширением .hta .
Этот пример демонстрирует наипростейший возможный HTA. Он состоит из строки
"Hello, World", и сохраняется с расширением .hta . Internet Explorer
настолько всепрощающий, что даже отсутствие тэгов HTML и BODY не вызывает ошибки.
Программа может быть закрыта нажатием ALT+F4.
Это свойство требует наличия MicrosoftR Internet Explorer 4.0 или более поздней версии.
Для запуска HTA требуется либо дважды щелкнуть левой клавишей мыши на его иконке,
либо выполнить его из меню ПУСК, либо открыть его через URL, либо запустить его из командной строки.
Будучи запущенным, HTA интерпретирует все, что находится внутри тэга BODY
и отображает значение тэга TITLE как заголовок окна.
В то время, как расширение .hta указывает системе как работать с приложением,
новый тэг HTA:APPLICATION и аттрибуты указывают окну, как себя вести будучи
приложением.
Этот тэг предоставляет ограниченный набор аттрибутов, управляющих всем от
стиля границы окна и до программной иконки и меню.
Большинство аттрибутов доступны только для чтения, их значения по умолчанию
оптимизированы для среднего приложения.
Для создания функционирующего HTA, этот тэг должен быть описан
внутри тэга HEAD.
Тэг HTA:APPLICATION в нижеследующем примере устанавливает свойства приложения,
не доступные в DHTML. Согласно запрещениям в аттрибутах, данное приложение не имеет
ни границы окна (border),
ни заголовка, ни стандартного системного меню.
Заголовок приложения появляется только в списке задач Windows, но не в панели задач.
При этом разрешено выполнение только одного экземпляра приложения.
Будучи запущенным, HTA известен системе как "monster"
и его размер устанавливается величиной, необходимой для заполнения всего экрана.
Программа может быть закрыта нажатием alt+f4.
<HEAD>
<TITLE>My Monster Application</TITLE>
<HTA:APPLICATION ID="oMyApp"
APPLICATIONNAME="monster"
BORDER="none"
CAPTION="no"
ICON="/graphics/creature.ico"
SHOWINTASKBAR="no"
SINGLEINSTANCE="yes"
SYSMENU="no"
WINDOWSTATE="maximize">
</HEAD>
Междоменному написанию скриптов свойственно адресовать риск безопасности, HTA разрешает атрибут
APPLICATION
для FRAME
и IFRAME.
Этот оригитнальный HTA атрибут не единственная доступная предосторожность защиты. HTA разработаны таким
образом, что FRAME и IFRAME, где атрибут
APPLICATION установлен в NO,
не имеют доступа скрипта в HTA, который их содержит. Таким образом никакое незащищённое
содержимое не допускается в HTA через недоверенное окно.
HTA разработаны таким образом, что недоверенные HTML FRAME и
IFRAME не имеют доступа скрипта к HTA, который их содержит. В отношении
FRAME, которые не являются разрешёнными для HTA, фрейм высшего уровня содержит
главное окно для всех FRAME, содержащихся в нём. Для вышеупомянутого FRAME, window.top
и window.self
одно и тоже. Кроме того, ненадёжные FRAME и IFRAME
не получают ни referrer
ни opener URL
из родительского HTA. Конечный результат - они не знают о HTA, содержащемся внутри, как о родительском окне.
В приложениях, где всё содержимое безопасно, FRAME и IFRAME
могут быть благополучно помечены как доверенные. Мастера и контрольные панели являются примерами безопасного
содержимого. Разрешённый HTA статус IFRAME в нижеуказанном примере
позволяет ему передавать информацию обратно в его родительское окно.
<IFRAME SRC="filename.htm" APPLICATION="yes">
В противоположность, IFRAME, который позволяет просмотр незащищённого содержимого, должен быть
запущен как обычный HTML. Содержимое в примере IFRAME ниже -
подчиняется настройке безопасности для его зоны. Следующий IFRAME может быть
использован при внедрении HTML.
<IFRAME SRC="filename.htm" APPLICATION="no">
Запомните, атрибут APPLICATION
игнорируется, если он используется в HTML предпочтительнее, чем HTA.
При выполнении HTA, пользователи должны принимать те же меры предосторожности,
как и с любой выполнимой программой: устанавливать только те HTA, которые созданы в надёжных источниках. HTA
не могут быть подписаны. Однако они могут быть установлены из отмеченных cabinet-файлов (.cab) или
других отмеченных инсталляционных форматов. Так или иначе, наиболее ответственные источники
будут корпоративными сетями intranet и признанными поставщиками программного обеспечения.
Реализация HTA фирмой Microsoft ограничена 32-битными системами Windows,
выполняющими Internet Explorer 5. HTA не поддерживают свойства или внешний
объект HTML
AutoComplete в формах .
Реализация HTA поддерживает методы многократного размещения: модель сети,
модель готовой программы, и модель, составленная из них обеих. Разработчики приложений должны решить
как лучше удовлетворить свои распределённые потребности.
Сетевая модель размещения состоит из приложения, которое может быт запущено и
которым можно управлять как обычной Web страницей. По этому сценарию HTA загружается просто
просматривая свой URL или с помощью доступа к нему из списка Избранное Internet Explorer.
Прежде чем загрузиться, появляется диалоговое окно Internet Explorer и предлагает пользователю
выбрать: открыть или сохранить приложение. После загрузки, с сервера по необходимости пересылаются
компоненты вспомогательного приложения и потом они помещаются в кэш. Сервера должны
иметь тип MIME "application:hta", зарегистрированный для доставки через протокол http:
для работы.
Эта модель предоставляет некоторые важные мощности. Это способствует тому, что обновление проходит
более гладко: администратору intranet нужно только отправить новый код
или содержание клиенту, чтобы получить последнюю версию. Это обеспечивает удобство
и лёгкость в использовании: пользователю никогда не нужно устанавливать или удалять приложение.
Приложения, которые не используются, автоматически смещаются из кэша. Одно очень важное соображение
при оценке этой модели размещения состоит в том, что серверные приложения не могут быть запущены
автономно или когда портится сервер. Один вариант состоит в том, чтобы предупредить
этот возможный случай при помощи внедрения возможностей дополнительного канала (CDF) в Internet Explorer (начиная
с версии 4.0).
В этой модели процесс инсталляции для HTA такой же самый, как и для обычных приложений.
Файлы копируются с диска или по сети, используя любую программу установки или самораспаковывающийся
исполнимый файл. Программа установки помещает приложение в директорию Program Files или в
директорию, выбранную пользователем. Ссылка на HTA включается в меню Пуск. Также регистрируется
зависимость приложения от Internet Explorer версии 5 и выше. Тут пользователя предупреждают, что
удаление Internet Explorer приведёт к тому, что это приложение станет неработоспособным.
Обратитесь к поставщикам сервиса for vehicles для компоновки и поставки HTAs to your specifications.
Как и модель сети, модель готовой программы имеет свои достоинства. Приглашение для
пользователя появляется только во время начальной установки; после этого приложение запускается
как доверенная программа, как обычный исполнимый(.ехе) файл. Установленное HTA также всегда
доступно для пользователей, независимо от того, соединены они с сервером или нет.
Допустимо любое сочетание сетевой модели размещения и модели размещения готовой программы.
Метод доставки незаметен для HTA. Составные части HTA всегда ссылаются как абсолютные или
относительные URL, таким образом приложение работает просто.
Каковы ваши потребности в распределении? Следующий список представляет несколько сценариев:
Если хранение сведений о времени начальной загрузки стоит на первом месте, то установите
главное окно HTA на клиентскую машину, оставляя HTA возможность доступа к серверу для связи с
картинками и служебным файлам.
Если ваши пользователи запускают приложение как на работе, так и удалённо, рассмотрите
возможность размещения HTA за пределами локальной сети используя модель сети, и в то же время
также распределяя его для удалённого использования используя модель готовой программы.
Возможно для вашей деятельности требуется такой сервис, где содержание поддерживается отдельными
группами, и распределяется между серверами. Приложение будет выглядеть и функционировать
как единое целое, если вы создадите интерфейс одного пользователя и будете использовать сетевое
размещение чтобы автоматически передавать самую последнюю информацию.
Microsoft Internet Explorer 5 это платформа для разработки
HTML Приложений (HTA).
Ряд расширений объектной модели (HTA) позволяют разработчику
настраивать пользовательский интерфейс приложений.
Следующие ссылки обеспечивают доступ к особой функциональности HTA.
APPLICATION
HTA:APPLICATION элемент | HTA:APPLICATION объект
Активизирует расширенную объектную модель для создания HTML приложений (HTA).
Внимание HTA потенциально способны выполнить на клиентской машине
скрипт, написанный со злыми намерениями. HTA, как и файлы .exe имеют доступ чтение/запись к
файлам и системному реестру на клиентской машине. Мощные выполнимые файлы могут быть созданы
и распространены очень быстро с помощью всего нескольких коротких строк скрипта.
Использование HTA не рекомендуется там, где безопасность исходных текстов выполняемых файлов сомнительна.
Вы можете создавать HTA, сохраняя существующие страницы HTML с расширением .hta
. Однако, для установки свойств окна приложения, таких как перечисленные в таблице, следует вставить тэг HTA:APPLICATION внутри тэга HEAD
Элемент HTA:APPLICATION требует закрывающего тэга. <HTA:APPLICATION ... > ... </HTA:APPLICATION>
Так как тэг элемента HTA:APPLICATION является пустым, он также может быть закрыт
использую следующий прием. <HTA:APPLICATION ... />
Памятка При использовании вышеуказанного приема, прямому слэшу
(/) должен предшествовать пробельный символ.
Атрибут
Свойство
Описание
APPLICATIONNAME |
applicationName |
Получает имя HTML приложения (HTA). |
BORDER |
border |
Получает тип бордюра окна для HTML приложения (HTA).
|
BORDERSTYLE |
borderStyle |
Получает набор стилей бордюра клиентской области внутри окна HTML
приложения. |
CAPTION |
caption |
Определяет отображает ли окно панель заголовка, или заголовок для HTML приложения. |
COMMANDLINE |
commandLine |
Получает аргументы, используемые для запуска HTML приложений. |
CONTEXTMENU |
contextMenu |
Устанавливает или определяет, показывается ли контекстное меню по нажатию
правой кнопки мыши. |
ICON |
icon |
Получает имя и расположение иконки, указанной в HTML приложении. |
INNERBORDER |
innerBorder |
Устанавливает или определяет отображается ли внутри окна 3-D бордюр. |
MAXIMIZEBUTTON |
maximizeButton |
Определяет отображается ли кнопка максимизирования в заголовке окна
HTML приложения. |
MINIMIZEBUTTON |
minimizeButton |
Определяет отображается ли кнопка минимизирования в заголовке окна
HTML приложения. |
NAVIGABLE |
navigable |
Устанавливает или определяет, будут ли документы по ссылке загружены в основное окно
HTML приложения, или в новое окно броузера. |
SCROLL |
scroll |
Устанавливает или определяет, отображаются ли полосы прокрутки. |
SCROLLFLAT |
scrollFlat |
Устанавливает или определяет, отображаются ли полосы прокрутки в 3-D виде,
или плоскими. |
SELECTION |
selection |
Устанавливает или определяет, будет ли содержимое выделяться с помощью мыши
или клавиатуры. |
SHOWINTASKBAR |
showInTaskBar |
Определяет будет ли HTML приложение отображаться в панели задач
MicrosoftR WindowsR. |
SINGLEINSTANCE |
singleInstance |
Определяет будет ли выполняться только один экземпляр HTML приложения. |
SYSMENU |
sysMenu |
Определяет, отображается ли системное меню в HTML приложении. |
VERSION |
version |
Определяет версию HTML приложения. |
WINDOWSTATE |
windowState |
Устанавливает или определяет первоначальный размер окна HTA. |
<HTML>
<HEAD>
<TITLE>HTA Demo</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
BORDER="thin"
BORDERSTYLE="normal"
CAPTION="yes"
ICON=""
MAXIMIZEBUTTON="yes"
MINIMIZEBUTTON="yes"
SHOWINTASKBAR="no"
SINGLEINSTANCE="no"
SYSMENU="yes"
VERSION="1.0"
WINDOWSTATE="maximize"/>
<SCRIPT>
/* Эта функция также получает значения свойства commandLine,
которое не может устанавливаться, как аттрибут */
function window.onload()
{
sTempStr = "applicationName = " + oHTA.applicationName + "n" +
"border = " + oHTA.border + "n" +
"borderStyle = " + oHTA.borderStyle + "n" +
"caption = " + oHTA.caption + "n" +
"commandLine = " + oHTA.commandLine + "n" +
"icon = " + oHTA.icon + "n" +
"maximizeButton = " + oHTA.maximizeButton + "n" +
"minimizeButton = " + oHTA.minimizeButton + "n" +
"showInTaskBar = " + oHTA.showInTaskbar + "n" +
"singleInstance = " + oHTA.singleInstance + "n" +
"sysMenu = " + oHTA.sysMenu + "n" +
"version = " + oHTA.version + "n" +
"windowState = " + oHTA.windowState + "n" ;
oPre.innerText = sTempStr;
}
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
<PRE ID=oPre> </PRE>
</BODY>
</HTML>
Это свойство требует наличия MicrosoftR Internet Explorer 5.0 или выше.
APPLICATIONNAME аттрибут | applicationName свойство
Получает имя HTML приложения (HTA).
HTML
<HTA:APPLICATION APPLICATIONNAME = sAppName... > |
Scripting
[ sAppName = ]
HTA:APPLICATION.applicationName |
sAppName |
Строка которая определяет имя приложения. |
Это свойство доступно только для чтения. Свойство не имеет значения по умолчанию.
Будучи установленным в true, свойство singleInstance проверяет значение applicationName
перед запуском экземпляра приложения. Чтобы проверка была успешной, значение applicationName
должно быть уникальным. Можно использовать значение свойства applicationName
для идентификации единственности запущенного приложения, независимо
от адреса URL, используемого для доступа к нему.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
>
<SCRIPT>
alert("applicationName = " + oHTA.applicationName);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Это свойство требует наличия MicrosoftR Internet Explorer 5.0 или выше.
BORDER аттрибут | border свойство
Получает тип бордюра окна для HTML приложения (HTA).
HTML
<HTA:APPLICATION BORDER = sType... > |
Scripting
[ sType = ]
HTA:APPLICATION.border |
Пример
sType |
Строка определяющая одно из следующих значений:
thick |
По умолчанию. Толстый бордюр окна, плюс бордюр для изменения размера окна. |
dialog |
Бордюр диалогового окна. |
none |
Окно без бордюра. |
thin |
Тонкий бордюр окна с заголовком. |
|
Свойство доступно только для чтения. Значение свойства по умолчанию - thick.
Свойство border влияет на толщину бордюра и действительно только для окон HTA,
у которых есть панель заголовка и сам заголовок. Устанавливая border
в none, вы убираете панель заголовка, иконку программы, и кнопки максимизирования,
минимизирования. Это свойство может быть использовано со свойством borderStyle,
которое контролирует содержимое бордюра в границах окна.
<HTML>
<HEAD>
<TITLE>Hello, World!</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONAME="myApp"
BORDER="thin"
>
<SCRIPT>
alert("border = " + oHTA.border);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Это свойство требует наличия MicrosoftR Internet Explorer 5.0 или выше.
BORDERSTYLE аттрибут | borderStyle свойство
Получает набор стилей бордюра клиентской области внутри окна HTML приложения.
HTML
<HTA:APPLICATION BORDERSTYLE = sStyle... > |
Scripting
[ sStyle = ]
HTA:APPLICATION.borderStyle |
sStyle |
Строка которая определяет одно из следующих значений:
normal |
По умолчанию. Нормальный бордюр. |
complex |
Приподнятый и утопленный бордюр. |
raised |
Приподнятый 3-D бордюр. |
static |
3-D бордюр, обычно используемый для окон, не обрабатывающих ввод пользователя. |
sunken |
Утопленный 3-D бордюр. | |
Это свойство доступно только для чтения. Это свойство имеет значение по умолчанию normal.
Все HTA имеют два смежных бордюра: один для содержимого окна, и
один для окна приложения. Свойство borderStyle устанавливает стиль
для бордюра содержимого, в то время как свойство border
контролирует бордюр окна приложения.
<HTML>
<HEAD>
<TITLE>Hello, World!</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="sampleApp"
CAPTION="yes"
BORDER="thin"
BORDERSTYLE="normal"
>
<SCRIPT>
alert("borderStyle = " + oHTA.borderStyle);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Это свойство требует наличия MicrosoftR Internet Explorer 5.0 или выше.
Атрибут CAPTION | Свойство caption
Определяет будет ли в окне HTML приложения (HTA) отображаться панель заголовка.
HTML
<HTA:APPLICATION CAPTION = bTitleBar... > |
Scripting
[ bTitleBar = ]
HTA:APPLICATION.caption |
bTitleBar |
Логическое значение определяющее одно из следующих значений:
yes |
- по умолчанию. Панель заголовка отображается. |
no |
- Панель заголовка не отображается. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства
yes.
title
приложения отображается только когда свойство caption установлено в yes. Отключение свойства caption также отключит кнопки
'Свернуть', 'Развернуть' и программную иконку. В этом случае, вы должны предоставить
альтернативный способ выхода из HTA, например, кнопка, вызывающая метод
close
объекта window
.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
CAPTION="yes"
>
<SCRIPT>
alert ("caption = " + oHTA.caption);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Свойство commandLine
Определяет аргументы командной строки, которые использовались для запуска HTML приложения (HTA).
HTML
N/A |
Scripting
[ sPath = ]
HTA:APPLICATION.commandLine |
sPath |
Строка которая содержит путь и параметры командной строки,
которые использовались для запуска HTA. |
Это свойство доступно только для чтения. У этого свойства нет значения по умолчанию.
Свойство commandLine содержит пустую строку когда HTA было запущено
с использованием HTTP
протокола.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
>
<SCRIPT>
alert("commandLine = " + oHTA.commandLine);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут CONTEXTMENU | Свойство contextMenu
Устанавливает или определяет появляется ли контекстное меню, при нажатии на правую кнопку мыши.
HTML
<HTA:APPLICATION CONTEXTMENU = sContextMenu... > |
Scripting
[ sContextMenu = ]
HTA:APPLICATION.contextMenu |
sContextMenu |
Строка определяющая одно из следующих значений.
yes |
- по умолчанию. Контекстное меню появляется. |
no |
- контекстное меню не появляется. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Свойство contextMenu доступно только для чтения, однако для определения начального значения
можно использовать атрибут CONTEXTMENU.
<HTML>
<HEAD>
<HTA:APPLICATION
ID=oHTA
CONTEXTMENU="no"
/>
<TITLE>HTA Properties</TITLE>
<STYLE>
BODY {font-size: 8pt; font-family: Arial;}
</STYLE>
</HEAD>
<SCRIPT>
function readFun()
{
alert("The contextMenu property is set to: " + oHTA.contextMenu);
}
</SCRIPT>
<BODY>
<P>Read the property:
<INPUT TYPE="button" VALUE="Test contextMenu value" onClick="readFun()"/>
</P>
</BODY>
</HTML>
Атрибут ICON | Свойство icon
Определяет имя и путь к иконке используемой в HTML приложении (HTA).
HTML
<HTA:APPLICATION ICON = sIcon... > |
Scripting
[ sIcon = ]
HTA:APPLICATION.icon |
sIcon |
Строка определяющая иконку приложения.
System Application
Icon |
- по умолчанию. HTA использует системную иконку, если значение
не определено. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства System Application Icon.
Атрибут icon распознаёт стандартные файлы MicrosoftR WindowsR, содержащие
изображение размером 32x32 пиксела (файлы с расширением .ico).
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
ICON="graphics/face01.ico"
>
<SCRIPT>
alert ("icon = " + oHTA.icon);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут INNERBORDER | Свойство innerBorder
Устанавливает или определяет отображается ли внутреняя 3-D граница.
HTML
<HTA:APPLICATION INNERBORDER = sInnerBorder... > |
Scripting
[ sInnerBorder = ]
HTA:APPLICATION.innerBorder |
sInnerBorder |
Строка определяющая одно из следующих значений.
yes |
- по умолчанию. Внутреняя 3-D граница отображается. |
no |
- внутреняя 3-D граница не отображается. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Свойство innerBorder доступно только для чтения, однако атрибут
INNERBORDER может быть использован для установки начального значения.
<HTML>
<HEAD>
<HTA:APPLICATION
ID=oHTA
INNERBORDER="no"/>
<TITLE>HTA Properties</TITLE>
<STYLE>
BODY {font-size: 8pt; font-family: Arial;}
</STYLE>
</HEAD>
<SCRIPT>
function readFun()
{
alert("The innerBorder property is set to: " + oHTA.innerBorder);
}
</SCRIPT>
<BODY>
<P>Read the property:
<INPUT TYPE="button" VALUE="Test innerBorder value" onClick="readFun()"/>
</P>
</BODY>
</HTML>
Атрибут MAXIMIZEBUTTON | Свойство maximizeButton
Определяет отображается ли кнопка 'Развернуть' на панеле заголовка окна HTML
приложения (HTA).
HTML
<HTA:APPLICATION MAXIMIZEBUTTON = bShowButton... > |
Scripting
[ bShowButton = ]
HTA:APPLICATION.maximizeButton |
bShowButton |
Логическое значение определяющее одно из следующих значений:
yes |
- по умолчанию. Кнопка 'Развернуть' отображается. |
no |
- кнопка 'Развернуть' не отображается. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Для того чтобы отображались кнопки 'Свернуть' и 'Развернуть', окно должно иметь панель заголовка, или caption.
<HTML>
<HEAD>
<TITLE>Hello, World!</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
CAPTION="yes"
MAXIMIZEBUTTON="yes"
>
<SCRIPT>
alert("maximizeButton = " + oHTA.maximizeButton);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут MINIMIZEBUTTON | Свойство minimizeButton
Определяет отображается ли кнопка 'Свернуть' на панеле заголовка окна HTML
приложения (HTA).
HTML
<HTA:APPLICATION MINIMIZEBUTTON = bShowButton... > |
Scripting
[ bShowButton = ]
HTA:APPLICATION.minimizeButton |
bShowButton |
Логическое значение определяющее одно из следующих значений:
yes |
- по умолчанию. Кнопка 'Свернуть' отображается. |
no |
- кнопка 'Свернуть' отображается не. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Для того чтобы отображались кнопки 'Свернуть' и 'Развернуть', окно должно иметь панель заголовка, или caption..
<HTML>
<HEAD>
<TITLE>Hello, World!</TITLE>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
CAPTION="yes"
MINIMIZEBUTTON="yes"
>
<SCRIPT>
alert ("minimizeButton = " + oHTA.minimizeButton);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут NAVIGABLE | Свойство navigable
Устанавливает или определяет в каком окне будут открываться загружаемые документы : в
основном окне HTML приложения (HTA), или в новом окне.
HTML
<HTA:APPLICATION NAVIGABLE = sNavigable... > |
Scripting
[ sNavigable = ]
HTA:APPLICATION.navigable |
sNavigable |
Строка определяющая одно из следующих значений:
no |
- по умолчанию. Будут открываться в новых окнах. |
yes |
- будут открываться в основном окне. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства no.
Свойство navigable доступно только для чтения, однако атрибут
NAVIGABLE может быть использован для указания начального значения.
Атрибут SCROLL | Свойство scroll
Устанавливает или определяет будут ли отображаться полосы прокрутки.
HTML
<HTA:APPLICATION SCROLL = sScroll... > |
Scripting
[ sScroll = ]
HTA:APPLICATION.scroll |
sScroll |
Строка определяющая одно из следующих значений:
yes |
- по умолчанию. Полосы прокрутки отображаются. |
no |
- полосы прокрутки не отображаются. |
auto |
Полосы прокрутки появляются только когда содержимое документа
не умещается в клиентской области окна. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Свойство scroll доступно только для чтения, однако можно использовать
атрибут SCROLL для присвоения начального значения.
Установление значения свойства body.scroll
равным no - это альтернативный способ предотвратить
появление полос прокрутки.
<HTML>
<HEAD>
<HTA:APPLICATION
ID=oHTA
SCROLL="no"/>
<TITLE>HTA Properties</TITLE>
<STYLE>
BODY {font-size: 8pt; font-family: Arial;}
</STYLE>
</HEAD>
<SCRIPT>
function readFun()
{
alert("The scroll property is set to: " + oHTA.scroll);
}
</SCRIPT>
<BODY>
<P>Read the property:
<INPUT TYPE="button" VALUE="Test scroll value" onClick="readFun()"/>
</P>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
</BODY>
</HTML>
Атрибут SCROLLFLAT | Свойство scrollFlat
Устанавливает или определяет в каком виде будут отображаться полосы прокрутки :
в 3-х мерном виде, или в 2-х мерном виде.
HTML
<HTA:APPLICATION SCROLLFLAT = sScrollFlat... > |
Scripting
[ sScrollFlat = ]
HTA:APPLICATION.scrollFlat |
sScrollFlat |
Строка определяющая однио из следующих значений:
yes |
- полосы прокрутки двухмерные. |
no |
- по умолчанию. Полосы прокрутки трёхмерные. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства no.
Свойство scrollFlat доступно только для чтения, однако для присвоения
начального значения можно использовать атрибут SCROLLFLAT.
<HTML>
<HEAD>
<HTA:APPLICATION
ID=oHTA
SCROLLFLAT="yes"/>
<TITLE>HTA Properties</TITLE>
<STYLE>
BODY {font-size: 8pt; font-family: Arial;}
</STYLE>
</HEAD>
<SCRIPT>
function readFun()
{
alert("The scrollFlat property is set to: " + oHTA.scrollFlat);
}
</SCRIPT>
<BODY>
<P>Read the property:
<INPUT TYPE="button" VALUE="Test scrollFlat value" onClick="readFun()"/>
</P>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>.</p>
<p>.</p><p>.</p><p>.</p><p>.</p><p>scroll down</p>
</BODY>
</HTML>
Атрибут SELECTION | Свойство selection
Устанавливает или Определяет может ли содержимое документа быть выбрано мышкой или с помощью
клавиатуры.
HTML
<HTA:APPLICATION SELECTION = sSelection... > |
Scripting
[ sSelection = ]
HTA:APPLICATION.selection |
sSelection |
Строка определяющая одно из следующих значений:
yes |
- по умолчанию. Содержимое может быть выбрано. |
no |
- содержимое не может быть выбрано.
| |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Свойство selection доступно только для чтения, однако для присвоения
начального значения можно использовать атрибут SELECTION.
Присвоение атрибуту SELECTION значения no
запрещает появление контекстного меню. В этом случае, присвоение атрибуту CONTEXTMENU значения yes
не произведет никакого эффекта.
Замечание Использование в документе
редактируемых элементов переопределяет значение selection. Любой объект
может быть выбран, когда значение свойства contentEditable
установлено в true где угодно в HTML Приложении (HTA).
<HTML>
<HEAD>
<HTA:APPLICATION
ID=oHTA
CONTEXTMENU="yes"
SELECTION="no"/>
<TITLE>HTA Properties</TITLE>
<STYLE>
BODY {font-size: 8pt; font-family: Arial;}
</STYLE>
</HEAD>
<SCRIPT>
function readFun()
{
alert("The selection property is set to: " + oHTA.selection);
}
</SCRIPT>
<BODY>
<P>Read the property:
<INPUT TYPE="button" VALUE="Test selection value" onClick="readFun()"/>
</P>
</BODY>
</HTML>
Атрибут SHOWINTASKBAR | Свойство showInTaskBar
Определяет будет ли HTML приложение (HTA) появляться на панеле задач MicrosoftR
WindowsR.
HTML
<HTA:APPLICATION SHOWINTASKBAR = bShow... > |
Scripting
[ bShow = ]
HTA:APPLICATION.showInTaskBar |
bShow |
Логическое значение определяющее одно из следующих значений:
yes |
- по умолчанию. Приложение отбражается на панеле задач. |
no |
- приложение не отбражается на панеле задач.
| |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Свойство showInTaskBar не влияет на появление приложения в списке
приложений, который появляется когда пользователь нажимает ALT+TAB.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
SHOWINTASKBAR="no"
>
<SCRIPT>
alert ("showInTaskBar = " + oHTA.showInTaskBar);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут SINGLEINSTANCE | Свойство singleInstance
Определяет может ли быть запущенно больше одного экземпляра HTML приложения (HTA)
одновременно.
HTML
<HTA:APPLICATION SINGLEINSTANCE = bOpen... > |
Scripting
[ bOpen = ]
HTA:APPLICATION.singleInstance |
bOpen |
Логическое значение определяющее одно из следующих значений:
yes |
- только один экземпляр приложения может быть запущен. |
no |
- по умолчанию. Может быть запущенно несколько экземпляров приложения одновременно.
| |
Это свойство доступно только для чтения. По умолчанию значение этого свойства no.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
SINGLEINSTANCE="yes"
>
<SCRIPT>
alert("singleInstance = " + oHTA.singleInstance);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут SYSMENU | Свойство sysMenu
Определяет отображается ли системное меню в HTML приложении (HTA).
HTML
<HTA:APPLICATION SYSMENU = bMenu... > |
Scripting
[ bMenu = ]
HTA:APPLICATION.sysMenu |
bMenu |
Логическое значение определяющее одно из следующих значений:
yes |
- по умолчанию. Системное меню отображается на панеле заголовка. |
no |
- системное меню отображается на панеле заголовка. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства yes.
Системное меню HTA обозначается программной иконкой в левом углу панели заголовка
When clicked, системное меню HTA показывает все команды входящие в стандартное
MicrosoftR WindowsR системное меню, включая Восстановить, Переместить, Размер,
Свернуть, Развернуть, и Закрыть.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
SYSMENU="yes"
>
<SCRIPT>
alert("sysMenu = " + oHTA.sysMenu);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут VERSION | Свойство version
Определяет номер версии HTML приложения (HTA).
HTML
<HTA:APPLICATION VERSION = sVersion... > |
Scripting
[ sVersion = ]
HTA:APPLICATION.version |
sVersion |
Строка определяющая номер версии приложения. |
Это свойство доступно только для чтения. У этого свойства нет значения по умолчанию.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
VERSION="1.0"
>
<SCRIPT>
alert("version = " + oHTA.version);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
Атрибут WINDOWSTATE | Свойство windowState
Устанавливает или определяет начальные размеры окна HTML приложения (HTA).
HTML
<HTA:APPLICATION WINDOWSTATE = sWindowSize... > |
Scripting
[ sWindowSize = ]
HTA:APPLICATION.windowState |
sWindowSize |
Строка определяющая одно из следующих значений:
normal |
- по умолчанию. Размер окна - стандартный размер для MicrosoftR Internet
Explorer. |
minimize |
- появляется только title
окна на панеле задач. |
maximize |
- окно появляется развёрнутым на весь экран. | |
Это свойство доступно только для чтения. По умолчанию значение этого свойства normal.
<HTML>
<HEAD>
<HTA:APPLICATION ID="oHTA"
APPLICATIONNAME="myApp"
WINDOWSTATE="maximize"
>
<SCRIPT>
alert("windowState = " + oHTA.windowState);
</SCRIPT>
</HEAD>
<BODY SCROLL="no">
</BODY>
</HTML>
APPLICATION Attribute
Показывает, является ли содержимоеобъекта HTML приложением
и, следовательно, не является входящим в модель безопасности программы просмотра.
HTML
<ELEMENT APPLICATION=bApplication ...
> |
Scripting
N/A |
bApplication |
Булеан, определяющий, действительно ли содержимое основано на модели
безопасности программы просмотра.
no |
- по умолчанию. Применяются правила безопасности программы
просмотра для ненадежного содержания; таким образом, всё содержимое FRAME
и IFRAME является ненадёжным. |
yes |
- всё содержимое FRAME и IFRAME является надёжным.
| |
Атрибут APPLICATION может быть использован только в HTA.
Вы можете использовать это свойство для контроля содержимого Вашей Web-страницы.
Например, Вы можете использовать атрибут для создания HTA, который содержит
один FRAME, который позволяет доступ к ненадёжному содержанию, такому, как
Internet URL, и другой FRAME, который позволяет доступ к надёжному содержанию.
Вы можете также использовать атрибут для перекрёстного домейн скриптинга между
фреймами с HTA.
Вложенные FRAME или IFRAME требуют каждого контейнера FRAME, чтобы быть НТА
(например, APPPLICATION="yes") для глубокого FRAME или IFRAME для принятия
величиной APPLICATION значения "yes". Возьмём, например, IFRAME, который
содержит набор фреймов. Каждый FRAME в наборе фреймов считается вложенным.
Для глубокого FRAME, учитывая безопасность, он и каждый родительский FRAME
должен быть объявлен как APPLICATION=''yes'.
HTA разработаны для предотвращения возможности скриптового доступа каждого
ненадёжного FRAME и IFRAME к HTA, который их содержит. В случае FRAME без HTA
фрейм более высокого порядка включает верхнее окно для каждого FRAME, входящего
в его состав. Window.top и window.self те же для этого фрейма. Вдобавок, ненадёжные
FRAME или IFRAME не получает ни ссылку, ни открытый URL родительского HTA.
Это значит, что FRAME или IFRAME не влияют на родительское окно, содержащее HTA
Объектная модель
FileSystemObject
Введение в FileSystemObject и Scripting
Run-Time Library
Объекты FileSystemObject
Программируя с FileSystemObject
Работа с дисками и
каталогами
Работа с файлами
При создании сценариев для Active Server Pages,
Windows Scripting Host или других приложений, где могут
быть использованы сценарии, часто нужно
добавлять, переносить, изменять, создавать или
удалять каталоги (директории) и файлы на
Web-сервере. Также может понадобиться возможность
управления и информация о дисках, которые
связаны с Web-сервером. Использование сценариев
позволит Вам работать с дисками, каталогами и
файлами, используя объектную модель FileSystemObject.
Объектная модель FileSystemObject (FSO) позволяет
Вам использовать привычный синтаксис object.method с
большим числом свойств, методов и событий для
работы с каталогами и файлами.
Использование этой объектно-ориентированной
модели возможно с:
HTML для создания Web-страниц
Windows Scripting Host для создания пакетных файлов для
Microsoft Windows
Script Control для обеспечения использования
сценариев для приложений, написанных на других
языках
Использование FSO на стороне клиента поднимает
серьезные вопросы об обеспечении безопасности
локальной файловой системы клиента от
возможного несанкционированного доступа. Здесь
предполагается использование объектной модели
FSO для создания сценариев для Web-страниц на
стороне сервера. При этом установки безопасности
Internet Explorer по умолчанию не позволяют на стороне
клиента использовать объекты FileSystemObject.
Изменение этих установок по умолчанию может
повлечь за собой возможность
несанкционированного доступа к файловой системе
локального компьютера, что в результате может
привести к нарушению целостности системы, потери
данных и т.д.
Объекты FSO дают возможность вашим приложениям на
стороне сервера создавать, изменять, переносить
и удалять каталоги, определять, существует та
либо иная папка и где она находится. Вы также
можете найти такую информацию о каталогах, как их
имена, даты их создания или последнего изменения
и т.п.
Объекты FSO также облегчают работу с файлами. При
работе с файлами основной задачей является
сохранение данных с наилучшим использованием
места и ресурсов, в формате, обеспечивающим
лёгкий доступ. Вам нужно создавать файлы,
вставлять и изменять информацию, и выводить
(читать) её. Сохранение информацию в базе данных,
как Access или SQL Server, добавляет значительное
количество дополнений в ваше приложение, тогда
сохранение ваших данных в двоичный или текстовый
файл будет наиболее эффективным решением.
Объектная модель FSO, которая содержится в
библиотеке сценариев (Scrrun.dll), поддерживает
создание текстового файла и работу с ним с
помощью объекта TextStream. Хотя пока ещё не
поддерживается создание двоичных файлов и
операции с ними, в будущем планируется это
сделать.
Объект/Коллекция |
Описание |
FileSystemObject |
Основной объект. Содержит
методы и свойства, позволяющие создавать,
удалять, получать информацию и в общем управлять
дисками, каталогами и файлами. Многие методы
этого объекта повторяются в других объектах FSO;
это сделано для удобства. |
Drive |
Объект. Содержит методы и
свойства, которые позволяют получить информацию
о дисках системы, например их название и сколько
свободного места доступно. Запомните, что
"диском" считается не только винчестер, но и
CD-ROM диск, диск RAM и т.д. Диск не обязательно должен
быть присоединён к системе, он также может быть
логически подключён через сеть. |
Drives |
Коллекция. Предоставляет
список дисков, подключённых в системе, как
физических, так и логических. Коллекция Drives
включает все диски, независимо от типа. |
File |
Объект. Содержит методы и
свойства, которые позволяют создавать, удалять
или перемещать файлы. Также позволяет
запрашивать систему о имени файла, пути, и другие
различные свойства. |
Files |
Коллекция. Предоставляет
список файлов, содержащихся в каталоге. |
Folder |
Объект. Содержит методы и
свойства, которые позволяют создавать, удалять
или перемещать каталоги. Также позволяет
запрашивать систему о имени каталога, пути, и
другие различные свойства. |
Folders |
Коллекция. Предоставляет
список каталогов в Folder. |
TextStream |
Объект. Позволяет читать и
записывать в текстовые файлы. |
Для программирования с
объектной моделью FileSystemObject:
Используем метод CreateObject для создания объекта
FileSystemObject.
Используем соответствующий метод в созданном
объекте.
Получаем доступ к свойствам объекта.
Объектная модель FSO содержится в библиотеке
сценариев, которая находится в файле Scrrun.dll.
Следовательно, вы должны иметь этот файл в
соответствующей директории системы на вашем
Web-сервере для использования объектной модели FSO.
Создание объекта FileSystemObject
Во-первых, создайте объект
FileSystemObject, используя метод CreateObject. В VBScript
используйте следующий код для создания
экземплярa FileSystemObject:
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
В Jscript то же самое будет делать следующий код:
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
В обоих этих примерах Scripting является именем
библиотеки и FileSystemObject является именем объекта,
который вы хотите создать. Вы можете создать
только один экземпляр объекта FileSystemObject.
Применение соответствующего метода
Во-вторых, используйте
соответствующий метод объекта FileSystemObject.
Например, для создания нового объекта
используйте или CreateTextFile или CreateFolder (объектная
модель FSO не поддерживает создание или удаление
дисков). Для удаления объектов используйте
методы DeleteFile и DeleteFolder объекта FileSystemObject, или метод
Delete объектов File и Folder. Вы также можете копировать
и перемещать файлы и каталоги, используя
соответствующие методы.
Примечание. Некоторые
функциональные возможности в FileSystemObject являются
излишними. Например, вы можете скопировать файлы,
используя метод CopyFile объекта FileSystemObject или метод
Copy объекта File. Эти методы работают одинаково.
Доступ к существующим дискам, файлам
и каталогам
Для получения доступа к существующим дискам,
файлам или каталогам используйте
соответствующий "get" метод объекта FileSystemObject:
GetDrive
GetFolder
GetFile
Для получения доступа к существующему файлу в
VBScript:
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile("c:test.txt")
В Jscript то же самое будет делать следующий код:
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\test.txt");
Не используйте "get" методы для только что
созданных объектов после того, как "create"
функция уже вернула handle этого объекта. Например,
если вы создали новый каталог, используя метод
CreateFolder, не используйте метод GetFolder для доступа к
таким его свойствам, как Name, Path, Size. Только
установите переменную в функции CreateFolder для
получения handle только созданной директории, затем
получайте доступ к его свойствам, методам и
событиям. Чтобы сделать это в VBScript, используйте
следующий код:
Sub CreateFolder
Dim fso, fldr
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.CreateFolder("C:MyTest")
alert("Created folder: " & fldr.Name)
End Sub
Для установки переменной в функции CreateFolder в
JScript:
function CreateFolder()
{
var fso, fldr;
fso = new ActiveXObject("Scripting.FileSystemObject");
fldr = fso.CreateFolder("C:\MyTest");
alert("Created folder: " + fldr.Name);
}
Получение доступа к свойствам
объекта
Получив handle объекта, вы можете получить доступ к
его свойствам. Например, для получения имени
определённой папки, сначала создайте экземпляр
объекта, затем получите его handle с помощью
соответствующего метода (в этом случае, методом
GetFolder, после того, как каталог уже создан).
Используйте этот код для получения handle методом
GetFolder в VBScript:
Set fldr = fso.GetFolder("c:")
В Jscript то же самое будет делать следующий код:
var fldr = fso.GetFolder("c:\");
Имея handle объекта Folder, вы можете проверить его
свойство Name. Используйте следующий код для
проверки этого в VBScript:
alert("Folder name is: " & fldr.Name)
В Jscript то же самое будет делать следующий код:
alert("Folder name is: " + fldr.Name);
Для нахождения последнего времени изменения
файла используйте данный VBScript код:
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject").
Set f1 = fso.GetFile("c:detlog.txt")
alert("File last modified: " & f1.DateLastModified)
В Jscript то же самое будет делать следующий код:
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.GetFile("c:\detlog.txt");
alert("File last modified: " + f1.DateLastModified);
С объектной моделью FileSystemObject (FSO) Вы
можете работать с дисками и каталогами
программно так же, как и в диалоговом режиме Windows
Explorer. Вы можете копировать и перемещать каталоги,
получать информацию о дисках и каталогах и т.п.
Получение информации о дисках
Объект Drive позволяет Вам получить информацию о
дисках, которые подключёны в системе как
физически, так и через сеть. Его свойства
позволяют получить информацию о:
Общий размер диска в байтах (свойство TotalSize)
Сколько места доступно на диске в байтах
(свойства AvailableSpace или FreeSpace)
Какая буква присвоена диску (свойство DriveLetter)
Какой тип диска (съёмный, постоянный, сетевой,
CD-ROM или диск RAM) (свойство DriveType)
Серийный номер диска (свойство SerialNumber)
Тип используемой на диске файловой системы (FAT,
FAT32, NTFS и т.д.) (свойство FileSystem)
Доступен ли диск для использования (свойство
IsReady)
Имя части диска и/или тома (свойства ShareName и
VolumeName)
Путь или корневой каталог диска (свойства Path и
RootFolder)
Пример использования объекта Object
Можно использовать объект Drive для получения
информации о диске. Вы не увидите ссылку на
объект Drive в следующем коде, вместо этого
используется метод GetDrive для получения ссылки на
существующий объект Drive (в этом случае drv).
Следующий пример демонстрирует как использовать
объект Drive в VBScript:
Sub ShowDriveInfo(drvPath)
Dim fso, drv, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set drv = fso.GetDrive(fso.GetDriveName(drvPath))
s = "Drive " & UCase(drvPath) & " - "
s = s & drv.VolumeName & "n"
s = s & "Total Space: " & FormatNumber(drv.TotalSize / 1024, 0)
s = s & " Kb" & "n"
s = s & "Free Space: " & FormatNumber(drv.FreeSpace / 1024, 0)
s = s & " Kb" & "n"
alert(s)
End Sub
Следующий код делает тоже самое в in JScript:
function ShowDriveInfo1(drvPath)
{
var fso, drv, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
drv = fso.GetDrive(fso.GetDriveName(drvPath));
s += "Drive " + drvPath.toUpperCase()+ " - ";
s += drv.VolumeName + "n";
s += "Total Space: " + drv.TotalSize / 1024;
s += " Kb" + "n";
s += "Free Space: " + drv.FreeSpace / 1024;
s += " Kb" + "n";
alert(s);
}
Диск:
Работа с каталогами
Общие задачи при работе с каталогами и методы их
выполнения описаны в следующей таблице:
Задача |
Метод |
Создание каталога. |
FileSystemObject.CreateFolder |
Удаление каталога. |
Folder.Delete или
FileSystemObject.DeleteFolder |
Перемещение каталога. |
Folder.Move или FileSystemObject.MoveFolder |
Копирование каталога. |
Folder.Copy или FileSystemObject.CopyFolder |
Получить имя каталога. |
Folder.Name |
Выяснить, существует ли
каталог |
FileSystemObject.FolderExists |
Получить экземпляр
существующего объекта Folder. |
FileSystemObject.GetFolder |
Выяснить имя каталога в
корневом каталоге. |
FileSystemObject.GetParentFolderName |
Получить путь к системным
директориям. |
FileSystemObject.GetSpecialFolder |
Следующий пример демонстрирует, как
используются объекты Folder и FileSystemObject для
управления каталогами и получения информации о
них в VBScript:
Sub ShowFolderInfo()
Dim fso, fldr, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set fldr = fso.GetFolder("c:")
alert ("Parent folder name is: " & fldr &
"n")
alert ("Contained on drive " & fldr.Drive &
"n")
If fldr.IsRootFolder = True Then
alert ("This is the root folder." &
""n"<br>")
Else
alert ("This folder isn't a root folder." &
"<br><br>" )
End If
fso.CreateFolder ("C:Bogus")
alert ("Created folder C:Bogus" & "n")
alert ("Basename = " & fso.GetBaseName("c:bogus") &
"n")
fso.DeleteFolder ("C:Bogus")
alert ("Deleted folder C:Bogus" & "n")
End Sub
Этот пример показывает, как используются
объекты Folder и FileSystemObject in JScript:
function ShowFolderInfo()
{
var fso, fldr, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
fldr = fso.GetFolder("c:");
alert("Parent folder name is: " + fldr + "n");
alert("Contained on drive " + fldr.Drive + "n");
if (fldr.IsRootFolder)
alert("This is the root folder.");
else
alert("This folder isn't a root folder.");
alert("<br><br>");
fso.CreateFolder ("C:\Bogus");
alert("Created folder C:\Bogus" + "n");
alert("Basename = " + fso.GetBaseName("c:\bogus") +
"n");
fso.DeleteFolder ("C:\Bogus");
alert("Deleted folder C:\Bogus" + "n");
}
Существует два основных направления при
работе с файлами:
Создание файлов, добавление или удаление из них
данных, и чтение файлов
Перемещение, копирование и удаление файлов
Создание файлов
Существует три способа создания пустого
текстового файла (иногда называют "текстовый
поток").
Во-первых, с помощью метода
CreateTextFile. Следующий пример демонстрирует, как
создать текстовый файл, используя этот метод в
VBScript:
Dim fso, f1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:testfile.txt", True)
Для использования этого метода в JScript наберите
следующий код:
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\testfile.txt", true);
Во-вторых, можно создать
текстовый файл, используя метод OpenTextFile объекта
FileSystemObject с установленным флагом ForWriting. В VBScript код
будет следующим:
Dim fso, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting. FileSystemObject")
Set ts = fso.OpenTextFile("c:test.txt", ForWriting, True)
Для создания текстового файла с использованием
этого метода в JScript наберите следующий код:
var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\test.txt", ForWriting, true);
В-третьих, создать текстовый
файл можно с использованием метода OpenAsTextStream с
установленным флагом ForWriting. В VBScript код будет
следующим:
Dim fso, f1, ts
Const ForWriting = 2
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile ("c:test1.txt")
Set f1 = fso.GetFile("c:test1.txt")
Set ts = f1.OpenAsTextStream(ForWriting, True)
В JScript код будет следующим:
var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\test1.txt");
f1 = fso.GetFile("c:\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);
Запись информации в файл
Как только текстовый файл создан, запись данных в
файл происходит в три шага:
Открытие текстового файла.
Запись данных.
Закрытие файла.
Для открытия существующего файла используйте
либо метод OpenTextFile объекта FileSystemObject, либо метод
OpenAsTextStream объекта File.
Для записи данных в открытый текстовый файл
используйте методы Write, WriteLine или WriteBlankLines объекта
TextStream в соответствие с задачами, описанными в
следующей таблице.
Задача |
Метод
|
Запись данных в открытый
текстовый файл без символа перехода на новую
строку. |
Write |
Запись данных в открытый
текстовый файл с символом перехода на новую
строку. |
WriteLine |
Запись одной или более
пустых строк в открытый текстовый файл. |
WriteBlankLines |
Для закрытия открытого файла используйте метод
Close объекта TextStream.
Примечание. Символ перехода на
новую строку содержит символ или символы (в
зависимости от операционной системы) для
перехода курсора на начало новой строки (возврат
каретки/ввод строки). Имейте в виду, что на конце
некоторых строк могут уже стоять такие
непечатные символы.
Следующий пример на 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.")
tf.WriteBlankLines(3)
tf.Write ("This is a test.")
tf.Close
End Sub
Этот пример показывает, как использовать три
метода в JScript:
function CreateFile()
{
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\testfile.txt", true);
tf.WriteLine("Testing 1, 2, 3.") ;
tf.WriteBlankLines(3) ;
tf.Write ("This is a test.");
tf.Close();
}
Чтение файлов
Для чтения данных из текстового файла
используйте методы Read, ReadLine, или ReadAll объекта
TextStream. Следующая таблица описывает применение
этих методов для различных задач:
Задача |
Метод |
Прочитать указанное число
символов из файла. |
Read |
Прочитать строку (не
включая символа новой строки). |
ReadLine |
Прочитать всё содержимое
текстового файла. |
ReadAll |
Если Вы используете методы Read или ReadLine и хотите
пропустить определённую часть данных,
используйте методы Skip or SkipLine. Результат работы
функции чтения сохранится в строке, которая
может быть отображена, обработана функциями
работы со строками (такими как Left, Right и Mid),
присоединена и т.д.
Следующий пример на VBScript показывает, как открыть
файл, записать в него, и затем прочитать с него:
Sub ReadFiles
Dim fso, f1, ts, s
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:testfile.txt", True)
alert("Writing file <br>")
f1.WriteLine "Hello World"
f1.WriteBlankLines(1)
f1.Close
alert("Reading file <br>")
Set ts = fso.OpenTextFile("c:testfile.txt", ForReading)
s = ts.ReadLine
alert("File contents = '" & s & "'")
ts.Close
End Sub
Этот код делает то же самое на JScript:
function ReadFiles()
{
var fso, f1, ts, s;
var ForReading = 1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\testfile.txt", true);
alert("Writing file <br>");
f1.WriteLine("Hello World");
f1.WriteBlankLines(1);
f1.Close();
alert("Reading file <br>");
ts = fso.OpenTextFile("c:\testfile.txt", ForReading);
s = ts.ReadLine();
alert("File contents = '" + s + "'");
ts.Close();
}
Перемещение, копирование и
удаление файлов
Объектная модель FSO имеет по два метода для
перемещение, копирование и удаление файлов, что и
показано в таблице.
Задача |
Метод
|
Переместить файл |
File.Move или FileSystemObject.MoveFile |
Скопировать файл |
File.Copy или FileSystemObject.CopyFile |
Удалить файл
|
File.Delete или FileSystemObject.DeleteFile |
Следующий пример на VBScript создаёт текстовый файл
в корневом каталоге диска C, записывает некоторую
информацию в него, переносить файл в директорию
tmp, копирует файл в директорию temp, затем удаляет
копии из обоих директорий.
Для того, чтобы следующий пример работал,
создайте директории tmp and temp в корневом каталоге
диска C:
Sub ManipFiles
Dim fso, f1, f2, s
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.CreateTextFile("c:testfile.txt", True)
alert("Writing file <br>")
f1.Write ("This is a test.")
f1.Close
alert("Moving file to c:tmp <br>")
Set f2 = fso.GetFile("c:testfile.txt")
f2.Move ("c:tmptestfile.txt")
alert("Copying file to c:temp <br>")
f2.Copy ("c:temptestfile.txt")
alert("Deleting files <br>")
Set f2 = fso.GetFile("c:tmptestfile.txt")
Set f3 = fso.GetFile("c:temptestfile.txt")
f2.Delete
f3.Delete
alert("All done!")
End Sub
То же самое делает код на JScript:
function ManipFiles()
{
var fso, f1, f2, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\testfile.txt", true);
alert("Writing file <br>");
f1.Write("This is a test.");
f1.Close();
alert("Moving file to c:\tmp <br>");
f2 = fso.GetFile("c:\testfile.txt");
f2.Move ("c:\tmp\testfile.txt");
alert("Copying file to c:\temp <br>");
f2.Copy ("c:\temp\testfile.txt");
alert("Deleting files <br>");
f2 = fso.GetFile("c:\tmp\testfile.txt");
f3 = fso.GetFile("c:\temp\testfile.txt");
f2.Delete();
f3.Delete();
alert("All done!");
}
Элемент языка
|
Описание |
Add |
Добавляет новую папку в коллекцию Folders
|
AtEndOfLine |
Возвращает True, если
указатель в файле непосредственно предшествует маркеру "конец строки" в файле TextStream; False если нет. |
AtEndOfStream |
Возвращает True, если
указатель в файле находится в конце файла TextStream; False если нет. |
Attributes |
Устанавливает или возвращает аттрибуты файла или папки. |
AvailableSpace |
Возвращает количество свободного для пользователя места на указанном диске или сетевом ресурсе. |
BuildPath |
Добавляет имя к существующему пути. |
Close |
Закрывает открытый TextStream файл. |
Column |
Возвращает номер колонки текущей символьной позиции в TextStream файле. |
Copy |
Копирует указанный файл или папку из одного местоположения в другое. |
CopyFile |
Копирует один или несколько файлов из одного местоположения в другое. |
CopyFolder |
Рекурсивно копирует один или несколько каталогов из одного местоположения в другое. |
CreateFolder |
Создает каталог. |
CreateTextFile |
Создает указанное имя файла и возвращает объект TextStream,
который может быть использован для чтения или записи в файл. |
DateCreated |
Возвращает дату и время создания указанного файла или папки. |
DateLastAccessed |
Возвращает дату и время последнего обращения к указанному файлу или папке.
|
DateLastModified |
Возвращает дату и время последнего изменения указанного файла или папки.
|
Delete |
Удаляет указанный файл или папку. |
DeleteFile |
Удаляет указанный файл. |
DeleteFolder |
Удаляет указанную папку и ее содержимое. |
Drive Объект |
Обеспечивает доступ к свойствам определенного диска или сетевого ресурса.
|
Drive |
Возвращает букву диска, на котором находится указанный файл или папка. |
DriveExists |
Возвращает True, если указанный диск существует; False если нет. |
DriveLetter |
Возвращает букву диска физического устройства или сетевого ресурса. |
Drives Коллекция |
Коллекция всех доступных дисков (только для чтения). |
Drives |
Возвращает коллекцию Drives, состоящую из всех объектов Drive, доступных на локальной машине. |
DriveType |
Возвращает значение, отражающее тип указанного диска. |
File Объект |
Обеспечивает доступ ко всем свойствам файла. |
FileExists |
Возвращает True, если
указанный файл существует; False, если нет. |
Files Коллекция |
Коллекция всех объектов File внутри папки. |
Files |
Возвращает коллекцию Files, состоящую из всех объектов File
содержащихся в указанной папке, включая файлы с аттрибутами "скрытый" и "системный".
|
FileSystemObject Объект |
Обеспечивает доступ к файловой системе компьютера. |
FileSystem |
Возвращает тип используемой на указанном диске файловой системы. |
Folder Объект |
Обеспечивает доступ ко всем свойствам папки. |
Folders Коллекция |
Коллекция всех объектов Folder содержащихся внутри объекта Folder. |
FolderExists |
Возвращает True, если
указанная папка существует; False, если нет. |
FreeSpace |
Возвращает количество доступного пользователю пространства
на указанном диске или сетевом ресурсе. |
GetAbsolutePathName |
Возвращает полный и недвусмысленный путь из предоставляемого указания пути. |
GetBaseName |
Возвращает строку, содержащую базовое имя файла
(без какого-либо расширения), или папки по указанному пути.
|
GetDrive |
Возвращает объект Drive соответствующий диску по указанному пути. |
GetDriveName |
Возвращает строку, содержащую имя диска по указанному пути. |
GetExtensionName |
Возвращает строку, содержащую расширение для последней компоненты в пути. |
GetFile |
Возвращает объект File соответствующий файлу по указанному пути. |
GetFileName |
Возвращает последнее имя файла или папки по указанному пути
который не является спецификацией диска. |
GetFolder |
Возвращает объект Folder соответствующий папке по указанному пути. |
GetParentFolderName |
Возвращает строку, содержащую имя корневого каталога последнего файла или папки указанных в пути. |
GetSpecialFolder |
Возвращает указанную специальную папку. |
GetTempName |
Возвращает имя случайно сгенерированного временного файла или папки. |
IsReady |
Возвращает True, если
указанный диск готов; False если нет. |
IsRootFolder |
Возвращает True, если
указанная папка является корневой; False если нет. |
Line |
Возвращает текущий номер строки в файле TextStream. |
Move |
Переносит указанный файл или папку из одного местоположения в другое. |
MoveFile |
Переносит один или несколько файлов из одного местоположения
в другое. |
MoveFolder |
Переносит один или несколоько каталогов из одного местоположения
в другое. |
Name |
Устанавливает или возвращает имя указанного файла или папки.
|
OpenAsTextStream |
Открывает указанный файл и возвращает объект TextStream, который может быть использован для чтения
из него, записи в него, или для дозаписи в файл. |
OpenTextFile |
Открывает указанный файл и возвращает
объект TextStream, который может быть использован для чтения
из него, записи в него, или для дозаписи в файл. |
ParentFolder |
Возвращает объект Folder корневого для указанного файла или папки каталога.
|
Path |
Возвращает путь для указанного файла, папки или диска.
|
Read |
Читает указанное количество символов из TextStream файла и возвращает
результирующую строку. |
ReadAll |
Читает весь TextStream файл и возвращает результирующую строку. |
ReadLine |
Читает всю строку (все исключая символ конца строки) из
TextStream файла и возвращает результирующую строку. |
RootFolder |
Возвращает объект Folder представляющий корневой каталог указанного диска. |
SerialNumber |
Возвращает десятичный серийный номер, используемый
для уникальной идентификации тома диска. |
ShareName |
Возвращает сетевое имя ресурса для указанного диска. |
ShortName |
Возвращает короткое имя, используемое программами
которые требуют раннего 8.3 соглашения об именах файлов. |
ShortPath |
Возвращает короткий путь, используемый программами,
которые требуют раннего 8.3 соглашения об именах файлов. |
Size |
Возвращает размер, в байтах, указанного файла или папки. |
Skip |
Пропускает указанное количество символов
во время чтения TextStream файла. |
SkipLine |
Пропускает следующую строку во время чтения
TextStream файла. |
SubFolders |
Возвращает коллекцию Folders, содержащую все папки, содержащиеся
в указанной папке, включая папки с атрибутами "скрытый" и "системный".
|
TextStream Объект |
Облегчает последовательный доступ к файлу. |
TotalSize |
Возвращает полный размер, в байтах, диска
или сетевого ресурса. |
Type |
Возвращает информацию о типе файла или папки.
|
VolumeName |
Устанавливает или возвращает имя тома указанного диска. |
Write |
Записывает указанную строку в TextStream файл. |
WriteBlankLines |
Записывает указанное количество символов новой строки
в TextStream файл. |
WriteLine |
Записывает указанную строку и символ новой строки в TextStream файл. |
Элемент языка
|
Описание |
Add |
Добавляет новую папку в коллекцию Folders
|
BuildPath |
Добавляет имя к существующему пути. |
Close |
Закрывает открытый TextStream файл. |
Copy |
Копирует указанный файл или папку из одного местоположения в другое. |
CopyFile |
Копирует один или несколько файлов из одного местоположения в другое. |
CopyFolder |
Рекурсивно копирует один или несколько каталогов из одного местоположения в другое. |
CreateFolder |
Создает каталог. |
CreateTextFile |
Создает указанное имя файла и возвращает объект TextStream,
который может быть использован для чтения или записи в файл. |
Delete |
Удаляет указанный файл или папку. |
DeleteFile |
Удаляет указанный файл. |
DeleteFolder |
Удаляет указанную папку и ее содержимое. |
DriveExists |
Возвращает True, если указанный диск существует; False если нет. |
FileExists |
Возвращает True, если
указанный файл существует; False, если нет. |
FolderExists |
Возвращает True, если
указанная папка существует; False, если нет. |
GetAbsolutePathName |
Возвращает полный и недвусмысленный путь из предоставляемого указания пути. |
GetBaseName |
Возвращает строку, содержащую базовое имя файла
(без какого-либо расширения), или папки по указанному пути.
|
GetDrive |
Возвращает объект Drive соответствующий диску по указанному пути. |
GetDriveName |
Возвращает строку, содержащую имя диска по указанному пути. |
GetExtensionName |
Возвращает строку, содержащую расширение для последней компоненты в пути. |
GetFile |
Возвращает объект File соответствующий файлу по указанному пути. |
GetFileName |
Возвращает последнее имя файла или папки по указанному пути
который не является спецификацией диска. |
GetFolder |
Возвращает объект Folder соответствующий папке по указанному пути. |
GetParentFolderName |
Возвращает строку, содержащую имя корневого каталога последнего файла или папки указанных в пути. |
GetSpecialFolder |
Возвращает указанную специальную папку. |
GetTempName |
Возвращает имя случайно сгенерированного временного файла или папки. |
Move |
Переносит указанный файл или папку из одного местоположения в другое. |
MoveFile |
Переносит один или несколько файлов из одного местоположения
в другое. |
MoveFolder |
Переносит один или несколоько каталогов из одного местоположения
в другое. |
OpenAsTextStream |
Открывает указанный файл и возвращает объект TextStream, который может быть использован для чтения
из него, записи в него, или для дозаписи в файл. |
OpenTextFile |
Открывает указанный файл и возвращает
объект TextStream, который может быть использован для чтения
из него, записи в него, или для дозаписи в файл. |
Read |
Читает указанное количество символов из TextStream файла и возвращает
результирующую строку. |
ReadAll |
Читает весь TextStream файл и возвращает результирующую строку. |
ReadLine |
Читает всю строку (все исключая символ конца строки) из
TextStream файла и возвращает результирующую строку. |
Skip |
Пропускает указанное количество символов
во время чтения TextStream файла. |
SkipLine |
Пропускает следующую строку во время чтения
TextStream файла. |
Write |
Записывает указанную строку в TextStream файл. |
WriteBlankLines |
Записывает указанное количество символов новой строки
в TextStream файл. |
WriteLine |
Записывает указанную строку и символ новой строки в TextStream файл. |
Элемент языка
|
Описание |
AtEndOfLine |
Возвращает True, если
указатель в файле непосредственно предшествует маркеру "конец строки" в файле TextStream; False если нет. |
AtEndOfStream |
Возвращает True, если
указатель в файле находится в конце файла TextStream; False если нет. |
Attributes |
Устанавливает или возвращает аттрибуты файла или папки. |
AvailableSpace |
Возвращает количество свободного для пользователя места на указанном диске или сетевом ресурсе. |
Column |
Возвращает номер колонки текущей символьной позиции в TextStream файле. |
DateCreated |
Возвращает дату и время создания указанного файла или папки. |
DateLastAccessed |
Возвращает дату и время последнего обращения к указанному файлу или папке.
|
DateLastModified |
Возвращает дату и время последнего изменения указанного файла или папки.
|
Drive |
Возвращает букву диска, на котором находится указанный файл или папка. |
DriveLetter |
Возвращает букву диска физического устройства или сетевого ресурса. |
Drives |
Возвращает коллекцию Drives, состоящую из всех объектов Drive, доступных на локальной машине. |
DriveType |
Возвращает значение, отражающее тип указанного диска. |
Files |
Возвращает коллекцию Files, состоящую из всех объектов File
содержащихся в указанной папке, включая файлы с аттрибутами "скрытый" и "системный".
|
FileSystem |
Возвращает тип используемой на указанном диске файловой системы. |
FreeSpace |
Возвращает количество доступного пользователю пространства
на указанном диске или сетевом ресурсе. |
IsReady |
Возвращает True, если
указанный диск готов; False если нет. |
IsRootFolder |
Возвращает True, если
указанная папка является корневой; False если нет. |
Line |
Возвращает текущий номер строки в файле TextStream. |
Name |
Устанавливает или возвращает имя указанного файла или папки.
|
ParentFolder |
Возвращает объект Folder корневого для указанного файла или папки каталога.
|
Path |
Возвращает путь для указанного файла, папки или диска.
|
RootFolder |
Возвращает объект Folder представляющий корневой каталог указанного диска. |
SerialNumber |
Возвращает десятичный серийный номер, используемый
для уникальной идентификации тома диска. |
ShareName |
Возвращает сетевое имя ресурса для указанного диска. |
ShortName |
Возвращает короткое имя, используемое программами
которые требуют раннего 8.3 соглашения об именах файлов. |
ShortPath |
Возвращает короткий путь, используемый программами,
которые требуют раннего 8.3 соглашения об именах файлов. |
Size |
Возвращает размер, в байтах, указанного файла или папки. |
SubFolders |
Возвращает коллекцию Folders, содержащую все папки, содержащиеся
в указанной папке, включая папки с атрибутами "скрытый" и "системный".
|
TotalSize |
Возвращает полный размер, в байтах, диска
или сетевого ресурса. |
Type |
Возвращает информацию о типе файла или папки.
|
VolumeName |
Устанавливает или возвращает имя тома указанного диска. |
Add (Метод)
Добавляет новый объект Folder в коллекцию Folders.
object.Add (folderName)
Метод Add имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя коллекции Folders. |
folderName |
Обязателен. Имя нового объекта Folder, который добавляется. |
function AddNewFolder(path,folderName)
{
var fso, f, fc, nf;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(path);
fc = f.SubFolders;
if (folderName != "" )
nf = fc.Add(folderName);
else
nf = fc.Add("New Folder");
}
Если folderName уже существует, возникает ошибка.
|
AtEndOfLine (свойство)
Возвращает true, если указатель в файле находится непосредственно
перед символом конца строки вTextStream файле; false если нет.
Доступен толко для чтения.
object.AtEndOfLine
object всегда имя объектаTextStream.
Свойство AtEndOfLine применяется только для TextStream
файлов, окрытых для чтения; иначе, возникает ошибка.
function GetALine(filespec)
{
var fso, a, s, ForReading;
ForReading = 1, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
a = fso.OpenTextFile(filespec, ForReading, false);
while (!a.AtEndOfLine)
{
s += a.Read(1);
}
a.Close( );
return(s);
}
|
AtEndOfStream (свойство)
Возвращает true, если указатель в файле находится в конце TextStream файла; false если нет. Доступен только для чтения.
object.AtEndOfStream
object всегда имя объекта TextStream.
Свойство AtEndOfStream применяется только для файлов TextStream
, открытых для чтения, иначе возникает ошибка.
function GetALine(filespec)
{
var fso, f, s, ForReading;
ForReading = 1, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile(filespec, ForReading, false);
while (!f.AtEndOfStream)
s += f.ReadLine( );
f.Close( );
return(s);
}
|
Attributes (свойство)
Устанавливает или возвращает аттрибуты файла или папки. Доступен для записи/чтения или только для чтения, в зависимости от аттрибута.
object.Attributes [= newattributes]
свойство Attributes содержит следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта File или Folder. |
newattributes |
Необязательный. Если задан, то newattributes - это новое значение для аттрибутов указанного объекта object. |
Аргумент newattributes может иметь любое из следующих значений или любую их логическую комбинацию:
Константа |
Значение |
Описание |
Normal |
0 |
Обыкновенный файл. Ни один аттрибут не устанавливается. |
ReadOnly |
1 |
Файл только для чтения. Аттрибут доступен для чтения/записи. |
Hidden |
2 |
Скрытый файл. Аттрибут доступен для чтения/записи. |
System |
4 |
Системный файл. Аттрибут доступен для чтения/записи. |
Volume |
8 |
Метка тома дискового устройства. Аттрибут доступен только для чтения. |
Directory |
16 |
Папка или каталог. Аттрибут доступен только для чтения. |
Archive |
32 |
Файл изменен со дня последнего резервного копирования. Аттрибут доступен для чтения/записи. |
Alias |
64 |
Ссылка или ярлык. Аттрибут доступен только для чтения. |
Compressed |
128 |
Сжатый файл. Аттрибут доступен только для чтения. |
function ToggleArchiveBit(filespec)
{
var fso, f, r, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec)
if (f.attributes && 32)
{
f.attributes = f.attributes - 32;
s = "Архивный бит очищен.";
}
else
{
f.attributes = f.attributes + 32;
s = "Архивный бит установлен.";
}
return(s);
}
|
AvailableSpace (свойство)
Возвращает количество свободного для пользователя места на указанном диске или сетевом ресурсе.
object.AvailableSpace
object всегда является объектом Drive.
Значение, возвращаемое свойством AvailableSpace, обычно совпадает со значением,
возвращаемым свойством FreeSpace. Разница может быть только если компьютерная система
поддерживает квоты.
function ShowAvailableSpace(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Drive " + drvPath.toUpperCase() + " - ";
s += d.VolumeName + "<br>";
s += "Свободно на диске: " + d.AvailableSpace/1024 + " Kбайт";
return(s);
}
|
BuildPath (метод)
Добавляет имя к существующему пути.
object.BuildPath(path, name)
Синтаксис метода BuildPath имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
path |
Обязателен. Существующий путь, к которому добавляется name.
Путь может быть абсолютным или относительным и не нуждается в указании существующего каталога. |
name |
Обязателен. Имя присоединяемое к существующему пути path.
|
Метод BuildPath вставляет дополнительный разделитель пути между существующим путем и именем,
если это необходимо.
function GetBuildPath(path)
{
var fso, newpath;
fso = new ActiveXObject("Scripting.FileSystemObject");
newpath = fso.BuildPath(path, "New Folder");
return(newpath);
}
|
Close (метод)
Закрывает открытый TextStream файл.
object.Close();
object всегда имя объектаTextStream.
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
a = fso.CreateTextFile("c:\testfile.txt", true);
a.WriteLine("Это проверка.");
a.Close();
|
Column (свойство)
Возвращает номер колонки текущей символьной позиции в TextStream файле.
object.Column
object всегда имя объекта TextStream.
После записи символа новой строки, но до записи любого другого символа, Column равен 1.
function GetColumn()
{
var fso, f, m;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.Write("Hello World!");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
m = f.ReadLine();
return(f.Column);
}
|
Copy (метод)
Копирует указанный файл или папку из одного местоположения в другое..
object.Copy( destination[, overwrite] );
Синтаксис метода Copy имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта File или Folder. |
destination |
Обязателен. Путь, куда должен быть скопирован файл или папка. Маски не допускаются. |
overwrite |
Необязателен. Логическое значение равное True (по умолчанию) - существующие папки или файлы перезаписываются; False - не перезаписываются. |
Результаты действия метода Copy на объект File или Folder
идентичны использованию методов FileSystemObject.CopyFile или FileSystemObject.CopyFolder
где файл или папка, над которыми производится операция, определяются с помощью object передаваемого как Аргумент.
Однако следует помнить, что альтернативные методы способны копировать несколько файлов или папок.
var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\testfile.txt", true);
f.WriteLine("Это проверка.");
f.Close();
f = fso.GetFile("c:\testfile.txt");
f.Copy("c:\windows\desktop\test2.txt");
|
CopyFile (метод)
Копирует один или несколько файлов из одного местоположения в другое.
object.CopyFile ( source, destination[, overwrite] )
Синтаксис метода CopyFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. object всегда имя объекта FileSystemObject. |
source |
Обязателен. Символьная строка указывающая на копируемый файл, которая может содержать маски, для копирования одного или нескольких файлов. |
destination |
Обязателен. Символьная строка, определяющая куда будут скопирован файл или файлы source. Использование масок не допустимо. |
overwrite |
Необязателен. Логическое значение, определяющие будут ли перезаписаны файлы. Если true, будут; если false - нет.
По умолчанию принимается true. Следует помнить, что CopyFile
не выполнится, если destination файлы имеют аттрибут "только для чтения",
независимо от значения overwrite. |
Маски могут быть использованы только в последней компоненте пути аргумента source .
Например, можно писать:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\mydocuments\letters\*.doc", "c:\tempfolder\")
Но нельзя писать:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFile ("c:\mydocuments\*\R1???97.xls", "c:\tempfolder")
Если source содержит маски или destination заканчивается разделителем пути (),
считается, что destination - существующая папка, в которую копируются все совпадающие с шаблоном файлы.
Иначе, destination считается именем файла, который необходимо создать.
В любом случае, при копировании отдельного файла могут быть три ситуации:
Если destination не существует, source копируется. Это обычный случай.
Если destination является существующим файлом, возникает ошибка, если overwrite равен false.
Иначе, происходит попытка записать source поверх существующего файла.
Если destination является каталогом, возникает ошибка.
Ошибка также возникает, если source используя маски не совпадает ни с одним файлом.
Метод CopyFile останавливается при первой ошибке.
Не делается никаких попыток вернуться назад или отменить любые изменения
сделанные перед возникновением ошибки.
|
CopyFolder (метод)
Рекурсивно копирует один или несколько каталогов из одного местоположения в другое.
object.CopyFolder ( source, destination[, overwrite] )
Синтаксис метода CopyFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. object всегда имя объекта FileSystemObject. |
source |
Обязателен. Символьная строка указывающая на копируемую папку, которая может содержать маски, для копирования одной или нескольки папок. |
destination |
Обязателен. Символьная строка, определяющая куда будут скопирована папка и подкаталоги source. Использование масок не допустимо. |
overwrite |
Необязателен. Логическое значение, определяющие будут ли перезаписаны папки. Если true, будут; если false - нет.
По умолчанию принимается true. |
Маски могут быть использованы только в последней компоненте пути аргумента source .
Например, можно писать:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\mydocuments\letters\*", "c:\tempfolder\")
Но нельзя писать:
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder ("c:\mydocuments\*\*", "c:\tempfolder\")
Если source содержит маски или destination заканчивается разделителем пути (),
считается, что destination - существующая папка, в которую копируются все совпадающие с шаблоном папки и подкаталоги.
Иначе, destination считается именем папки, которую необходимо создать.
В любом случае, при копировании отдельной папки могут быть четыре ситуации:
Если destination не существует, source и все его содержимое копируется. Это обычный случай.
Если destination является существующим файлом, возникает ошибка.
Если destination является каталогом, производится попытка скопировать папку
и все ее содержимое. Если файл, содержащийся в source уже есть в destination,
возникает ошибка, если overwrite равен false.
Иначе, происходит попытка записать файл поверх существующего файла.
Если destination является каталогом только для чтения, возникает ошибка,
если производится попытка записать существующий файл "только для чтения" в этот каталог, а
overwrite равен false.
Ошибка также возникает, если source используя маски не совпадает ни с одним каталогом.
Метод CopyFolder останавливается при первой ошибке.
Не делается никаких попыток вернуться назад или отменить любые изменения,
сделанные перед возникновением ошибки.
|
CreateFolder (метод)
Создает папку.
object.CreateFolder(foldername)
Метод CreateFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
foldername |
Обязателен. Строковое выражение определяещее имя создаваемого каталога. |
Если указанный каталог уже существует, возникает ошибка.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateFolder("c:\new folder");
|
CreateTextFile (метод)
Создает указанное имя файла и возвращает объект TextStream, который может быть использован для чтения или записи в файл.
object.CreateTextFile(filename[, overwrite[, unicode]])
Синтаксис метода CreateTextFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject или объекта Folder. |
filename |
Обязателен. Строковое выражение, определяющее создаваемый файл. |
overwrite |
Необязателен. Логическое значение, определяющее можно ли перезаписать существующий файл. Если его значение true
можно, false - нет. Если пропущен, существующие файлы не перезаписываются. |
unicode |
Необязателен. Логическое значение, определяющее создается Unicode или ASCII файл.
Если значение true - Unicode файл, false - ASCII файл.
Если пропущен, создается ASCII файл. |
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\testfile.txt", true);
a.WriteLine("Это проверка.");
a.Close();
Если Аргумент overwrite равен false, или не задан,
для существующего файла filename возникает ошибка.
|
DateCreated (свойство)
Возвращает дату и время создания указанного файла или папки. Доступен только для чтения.
object.DateCreated
object - всегда объект File или Folder.
function ShowFileInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = "Created: " + f.DateCreated;
return(s);
}
|
DateLastAccessed (свойство)
Возвращает дату и время последнего обращения к указанному файлу или папке. Доступен только для чтения.
object.DateLastAccessed
object - всегда объект File или Folder.
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = filespec.toUpperCase() + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Доступ осуществлен: " + f.DateLastAccessed + "<br>";
s += "Файл модифицирован: " + f.DateLastModified;
return(s);
}
|
Важно
Поведение данногго метода зависит от операционной системы.
Если система не поддерживает предоставление информации о времени,
ничего не будет возвращено.
|
|
|
DateLastModified (свойство)
Возвращает дату и время последнего изменения указанного файла или папки. Доступен только для чтения.
object.DateLastModified
object - всегда объект File или Folder.
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = filespec.toUpperCase() + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Доступ осуществлен: " + f.DateLastAccessed + "<br>";
s += "Файл модифицирован: " + f.DateLastModified;
return(s);
}
|
Delete (метод)
Удаляет указанный файл или папку.
object.Delete( force );
Синтаксис метода Delete имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта File или Folder. |
force |
Необязателен. Логическое значение, устанавливаемое в True
если необходимо удалять файлы и папки с аттрибутом "только для чтения";
False (по умолчанию) - не удалять. |
Если указанный файл или папка не существуют, возникает ошибка.
Результат действия метода Delete на объекты File или Folder
идентичен методам FileSystemObject.DeleteFile или FileSystemObject.DeleteFolder.
Метод Delete не различает каталоги имеющие и не имеющие содержимое.
Указанный каталог удаляется независимо от того, имеет он содержимое или нет.
var fso, f;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.CreateTextFile("c:\testfile.txt", true);
f.WriteLine("Это проверка.");
f.Close();
f = fso.GetFile("c:\testfile.txt");
f.Delete();
|
DeleteFile (метод)
Удаляет указанный файл.
object.DeleteFile ( filespec[, force] );
Синтаксис метода DeleteFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
filespec |
Обязателен. Имя удаляемого файла. filespec может содержать маски
в последней компоненте пути. |
force |
Необязателен. Логическое значение равное true если файлы с аттрибутами "только для чтения" должны быть удалены; false (по умолчанию) не должны быть удалены. |
Если нет файлов совпадающих с шаблоном, возникает ошибка. Метод DeleteFile
останавливается на первой ошибке. Не делается попыток вернуться обратно или отменить изменения
произошедшие перед возникновением ошибки.
function DeleteFile(filespec)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFile(filespec);
}
|
DeleteFolder (метод)
Удаляет указанную папку и ее содержимое.
object.DeleteFolder ( folderspec[, force] );
Синтаксис метода DeleteFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
folderspec |
Обязателен. Имя удаляемого каталога. folderspec может содержать маски
в последней компоненте пути. |
force |
Необязателен. Логическое значение, устанавливаемое в true если каталоги с аттрибутом "только для чтения" должны быть удалены; false (по умолчанию) если не должны быть удалены. |
Метод DeleteFolder не различает каталоги, имеющие и не имеющие содержимое.
Каталог удаляется независимо от того, имеет он содержимое или нет.
Если не найдены папки совпадающие с шаблоном, возникает ошибка.
Метод DeleteFolder останавливается при первой ошибке. Не делается попыток вернуться обратно или отменить изменения произошедшие перед возникновением ошибки.
function DeleteFolder(folderspec)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.DeleteFolder(folderspec);
}
|
Drive (объект)
Обеспечивает доступ к свойствам определенного диска или сетевого ресурса.
function ShowFreeSpace(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath + " - " ;
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.FreeSpace/1024 + " Kbytes";
return(s);
}
|
Drive (свойство)
Возвращает букву диска, на котором находится указанный файл или папка. Доступен только для чтения.
object.Drive
object всегда имя объекта File или Folder.
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Name + " on Drive " + f.Drive + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Доступ произведен: " + f.DateLastAccessed + "<br>";
s += "Модифицирован: " + f.DateLastModified;
return(s);
}
|
DriveExists (метод)
Возвращает True, если указанный диск существует; False - если нет.
object.DriveExists(drivespec)
Синтаксис метода DriveExists имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
drivespec |
Обязателен. Буква диска или полный путь.
|
Для устройств со сменным носителем, метод DriveExists возвращает true даже если носитель отсутствует.
Следует использовать свойство IsReady объекта Drive для определения готовности дискового устройства.
function ReportDriveStatus(drv)
{
var fso, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.DriveExists(drv))
s += "Drive " + drv + " существует.";
else
s += "Drive " + drv + " не существует.";
return(s);
}
|
DriveLetter (свойство)
Возвращает букву диска физического устройства или сетевого ресурса. Доступен только для чтения.
object.DriveLetter
object всегда объект Drive.
Свойство DriveLetter возвращает строку нулевой длины (""), если указанный диск
не ассоциирован с буквой диска, например, сетевой ресурс, не ассоциированный с буквой диска.
function ShowDriveLetter(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + d.DriveLetter.toUpperCase( ) + ": - ";
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.AvailableSpace/1024 + " Kbytes";
return(s);
}
|
Drive (коллекция)
Коллекция всех доступных дисков (только для чтения).
Устройства со сменными носителями не требуют присутствия носителя, чтобы находиться в коллекции Drives
function ShowDriveList()
{
var fso, s, n, e, x;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.Drives);
s = "";
for (; !e.atEnd(); e.moveNext())
{
x = e.item();
s = s + x.DriveLetter;
s += " - ";
if (x.DriveType == 3)
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = "[Диск не готов]";
s += n + "<br>";
}
return(s);
}
|
Drives (свойство)
Возвращает коллекцию Drives, содержащую все объекты Drive, доступные на локальной машине.
object.Drives
object всегда объект FileSystemObject.
Устройства со сменными носителями не требуют присутствия носителя, чтобы находиться в коллекции Drives.
Можно переходить от одного элемента к следующему в коллекции Drives,
используя объект Enumerator и оператор for:
function ShowDriveList()
{
var fso, s, n, e, x;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.Drives);
s = "";
for (; !e.atEnd(); e.moveNext())
{
x = e.item();
s = s + x.DriveLetter;
s += " - ";
if (x.DriveType == 3)
n = x.ShareName;
else if (x.IsReady)
n = x.VolumeName;
else
n = "[Диск не готов]";
s += n + "<br>";
}
return(s);
}
|
[an error occurred while processing this directive]
DriveType (свойство)
Возвращает значение, отражающее тип указанного диска.
object.DriveType
object всегда объект Drive.
function ShowDriveType(drvpath)
{
var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(drvpath);
switch (d.DriveType)
{
case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM Диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
return(s);
}
|
File (объект)
Обеспечивает доступ ко всем свойствам файла.
function ShowFileInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.DateCreated;
return(s);
}
|
FileExists (метод)
Возвращает True, если указанный файл существует; False - если нет.
object.FileExists(filespec)
Синтаксис метлода FileExists имеет следующие аргументы:
аргументы |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
filespec |
Обязателен. Имя файла, существование которого проверяется. Полный путь
(абсолютный или относительный) должен задаваться, если проверяется существование файла
не в текущем каталоге. |
function ReportFileStatus(filespec)
{
var fso, s = filespec;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(filespec))
s += " существует.";
else
s += " не существует.";
return(s);
}
|
Files (коллекция)
Коллекция всех объектов File внутри папки.
function ShowFolderFileList(folderspec)
{
var fso, f, f1, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator(f.files);
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "<br>";
}
return(s);
}
|
Files (свойство)
Возвращает коллекцию Files, состоящую из всех объектов File,
содержащихся в указанной папке, включая файлы с аттрибутами "скрытый" и "системный".
object.Files
object всегда объект Folder.
function ShowFolderFileList(folderspec)
{
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator(f.files);
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "<br>";
}
return(s);
}
|
FileSystemObject (объект)
Обеспечивает доступ к файловой системе компьютера.
y = new ActiveXObject("Scripting.FileSystemObject")
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\testfile.txt", true);
a.WriteLine("Это проверка.");
a.Close();
В примере, объект ActiveXObject присваивается FileSystemObject (fso).
Затем метод CreateTextFile создает файл как объект TextStream
(a), а метод WriteLine Записывает строку текста в файл. Метод Close
закрывает файл.
|
FileSystem (свойство)
Возвращает тип файловой системы, используемой на указанном диске.
object.FileSystem
object всегда объект Drive.
Доступные возвращаемые типы FAT, NTFS, и CDFS.
function ShowFileSystemType(drvPath)
{
var fso,d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(drvPath);
s = d.FileSystem;
return(s);
}
|
Folder (объект)
Обеспечивает доступ ко всем свойствам папки.
function ShowFolderInfo(folderspec)
{
var fso, folder, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
folder = fso.GetFolder(folderspec);
s = folder.DateCreated;
return(s);
}
|
Folders (коллекция)
Коллекция всех объектов Folder, содержащихся внутри определенного объекта Folder.
function ShowFolderList(folderspec)
{
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator(f.SubFolders);
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "<br>";
}
return(s);
}
|
FolderExists (метод)
Возвращает True, если указанная папка существует; False, если нет .
object.FolderExists(folderspec)
Синтаксис метода FolderExists имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
folderspec |
Обязателен. Имя папки, существование которой проверяется. Полный путь
(абсолютный или относительный) задается если проверяется существование папки не
в текущем каталоге. |
function ReportFolderStatus(fldr)
{
var fso, s = fldr;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FolderExists(fldr))
s += " существует.";
else
s += " не существует.";
return(s);
}
|
FreeSpace (свойство)
Возвращает количество свободного места, доступного для пользователя
на указанном диске или сетевом ресурсе. Доступен только для чтения.
object.FreeSpace
object всегда объект Drive.
Значение, возвращаемое свойством FreeSpace обычно совпадает со значением, возвращаемым
свойством AvailableSpace. Разница может быть только, если компьютеры используют квоты.
function ShowFreeSpace(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath.toUpperCase( ) + " - ";
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.FreeSpace/1024 + " Kbytes";
return(s);
}
|
GetAbsolutePathName (метод)
Возвращает полный и недвусмысленный путь из предоставляемого указания пути.
object.GetAbsolutePathName(pathspec)
Синтаксис метода GetAbsolutePathName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
pathspec |
Обязателен. Указание пути, который необходимо преобразовать в полный и недвусмысленный путь. |
Путь полон и недвусмысленен, если он обеспечивает полную ссылку от корневого каталога на диске.
Полный путь может заканчиваться символом разделителем пути (), если он определяет корневой
каталог диска.
Считая, что текущим является каталог c:mydocumentsreports, следующая таблица иллюстрирует
поведение метода GetAbsolutePathName.
pathspec |
Возвращаемый путь |
"c:" |
"c:mydocumentsreports" |
"c:.." |
"c:mydocuments" |
"c:\" |
"c:" |
"c:*.*\may97" |
"c:mydocumentsreports*.*may97" |
"region1" |
"c:mydocumentsreportsregion1" |
"c:\..\..\mydocuments" |
"c:mydocuments" |
function ShowAbsolutePath(path)
{
var fso, s= "";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetAbsolutePathName(path);
return(s);
}
|
GetBaseName (метод)
Возвращает строку, содержащую базовое имя файла (без какого-либо расширения), или папки по указанному пути.
object.GetBaseName(path)
Синтаксис метода GetBaseName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
path |
Обязателен. Указание пути к компоненте, чье базовое имя должно быть возвращено. |
Метод GetBaseName возвращает строку нулевой длины (""), если ни одна компонента
не удовлетворяет аргументу path.
|
Памятка Метод GetBaseName работает только
по указанному пути path. Он не пытается ни изменить путь, ни проверить, существует ли данный путь. |
|
function ShowBaseName(filespec)
{
var fso, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetBaseName(filespec);
return(s);
}
|
GetDrive (метод)
Возвращает объект Drive соответствующий диску по указанному пути.
object.GetDrive ( drivespec );
Синтаксис метода GetDrive имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
drivespec |
Обязателен. Аргумент drivespec может быть буквой диска (c), буквой диска с двоеточием (c:),
буквой диска с двоеточием и символом разделителем пути (c:), или любым сетевым путем (\computer2share1). |
Для сетевх ресурсов, проводится проверка на существование ресурса.
Возникает ошибка, если drivespec не соответствует одной из допустимых форм,
или не существует.
Для вызова метода GetDrive с помощью обыкновенной строки с путем,
следует использовать следующую последовательность, чтобы получить строку, подходящую для использования
в качестве drivespec:
DriveSpec = GetDriveName(GetAbsolutePathName(Path))
function ShowFreeSpace(drvPath)
{
var fso, d, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath.toUpperCase( ) + " - ";
s += d.VolumeName + "<br>";
s += "Свободного пространства: " + d.FreeSpace/1024 + " Kbytes";
return(s);
}
|
GetDriveName (метод)
Возвращает строку, содержащую имя диска по указанному пути.
object.GetDriveName(path)
Синтаксис метода GetDriveName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Вегда имя объекта FileSystemObject. |
path |
Обязателен. Указание пути к компоненте, имя диска которой должно быть возвращено. |
Метод GetDriveName возвращает строку нулевой длины (""),
если диск не может быть определен.
|
Памятка Метод GetDriveName работает только с указанным путем path.
Он не пытается ни изменить путь, ни проверить, существует ли данный путь. |
|
function GetDriveLetter(path)
{
var fso, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(path)));
return(s);
}
|
GetExtensionName (метод)
Возвращает строку, содержащую расширение для последней компоненты в пути.
object.GetExtensionName(path)
Синтаксис метода GetExtensionName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
path |
Обязателен. Путь к компоненте, чье расширение должно быть возвращено. |
Для сетевых дисков, корневой каталог () считается компонентой.
Метод GetExtensionName возвращет строку нулевой длины (""), если ни одна компонента не совпадает с аргументом path.
function ShowExtensionName(filespec)
{
var fso, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetExtensionName(filespec);
return(s);
}
|
GetFile (метод)
Возвращает объект File соответствующий файлу по указанному пути.
object.GetFile(filespec)
Синтаксис метода GetFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
filespec |
Обязателен. filespec - это путь (абсолютный или относительный) к указанному файлу. |
Возникает ошибка, если указанный файл не существует.
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Path.toUpperCase() + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Просматривался: " + f.DateLastAccessed + "<br>";
s += "Модифицировался: " + f.DateLastModified
return(s);
}
|
GetFile (метод)
Возвращает последнее имя файла или папки по указанному пути который не является спецификацией диска.
object.GetFileName(pathspec)
Синтаксис метода GetFileName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
pathspec |
Обязателен. Путь (абсолютный или относительный) к указанному файлу. |
Метод GetFileName возвращает строку нулевой длины (""), если Аргумент pathspec не заканчивается указанной компонентой.
|
Памятка Метод GetFileName
работает только по указанному пути. Он не пытается ни изменить путь, ни проверить, существует ли данный путь. |
|
function ShowFileName(filespec)
{
var fso, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetFileName(filespec);
return(s);
}
|
GetFile (метод)
Возвращает объект Folder соответствующий папке по указанному пути.
object.GetFolder(folderspec)
Синтаксис метода GetFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
folderspec |
Обязателен. folderspec - это путь (абсолютный или относительный) к указанной папке. |
Возникает ошибка, если указанная папка не существует.
function ShowFolderList(folderspec)
{
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator(f.SubFolders);
s = "";
for (; !fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "<br>";
}
return(s);
}
|
GetParentFolderName (метод)
Возвращает строку, содержащую имя корневого каталога последнего файла или папки указанных в пути.
object.GetParentFolderName(path)
Синтаксис метода GetParentFolderName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
path |
Обязателен. Путь к компоненте, корневой каталог которой должен быть возвращен. |
Метод GetParentFolderName возвращает строку нулевой длины (""), если для указанной компоненты нет корневого каталога.
|
Памятка Метод GetParentFolderName работает только по указанному пути. Он не пытается ни изменить путь, ни проверить, существует ли данный путь. |
|
function ShowParentFolderName(filespec)
{
var fso, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
s += fso.GetParentFolderName(filespec);
return(s);
}
|
GetSpecialFolder (метод)
Возвращает объект указанной специальной папки.
object.GetSpecialFolder(folderspec)
Синтаксис метода GetSpecialFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
folderspec |
Обязателен. Имя специальной папки, которая должна быть возвращена.
Может быть любой из констант, перечисленных ниже в установках. |
Аргумент folderspec может иметь любое из следующих значений:
Константа |
Значение |
Описание |
WindowsFolder |
0 |
Папка Windows содержит файлы, установленные операционной системой Windows. |
SystemFolder |
1 |
Папка System содержит библиотеки, шрифты, и драйверы устройств. |
TemporaryFolder |
2 |
Папка Temp используется для хранения временных файлов. Ее путь находится в переменной окружения TMP. |
var fso, tempfile;
fso = new ActiveXObject("Scripting.FileSystemObject");
function CreateTempFile()
{
var tfolder, tfile, tname, fname, TemporaryFolder = 2;
tfolder = fso.GetSpecialFolder(TemporaryFolder);
tname = fso.GetTempName();
tfile = tfolder.CreateTextFile(tname);
return(tfile);
}
tempfile = CreateTempFile();
tempfile.writeline("Hello World");
tempfile.close();
|
GetTempName (метод)
Возвращает случайно сгенерированное имя временного файла или папки, который полезен для выполнения операций, требующих временного файла или папки.
object.GetTempName ( );
object всегда имя объекта FileSystemObject.
Метод GetTempName не создает файл. Он обеспечивает только имя временного файла, которое может быть использовано с CreateTextFile для создания файла.
var fso, tempfile;
fso = new ActiveXObject("Scripting.FileSystemObject");
function CreateTempFile()
{
var tfolder, tfile, tname, fname, TemporaryFolder = 2;
tfolder = fso.GetSpecialFolder(TemporaryFolder);
tname = fso.GetTempName();
tfile = tfolder.CreateTextFile(tname);
return(tfile);
}
tempfile = CreateTempFile();
tempfile.writeline("Hello World");
tempfile.close();
|
IsReady (свойство)
Возвращает True, если указанный диск готов к работе; False, если нет.
object.IsReady
object всегда объект Drive.
Для устройств со сменным носителем и приводов CD-ROM, IsReady возвращает True только если носитель находится в устройстве и готов к доступу.
function ShowDriveInfo(drvpath)
{
var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject")
d = fso.GetDrive(drvpath)
switch (d.DriveType)
{
case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM-диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
if (d.IsReady)
s += "<br>" + "Диск готов.";
else
s += "<br>" + "Диск не готов.";
return(s);
}
|
IsRootFolder (свойство)
Возвращает True, если указанная папка является корневой; False, если нет.
object.IsRootFolder
object всегда объект Folder.
function DisplayLevelDepth(pathspec)
{
var fso, f, n, s = "";
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(pathspec);
n = 0;
if (f.IsRootFolder)
s = "Указанный каталог является корневым."
else
{
do
{
f = f.ParentFolder;
n++;
}
while (!f.IsRootFolder)
s = "Глубина данного каталога " + n + " уровней."
}
return(s);
}
|
Line (свойство)
Возвращает текущий номер строки в файле TextStream.
object.Line
object всегда имя объекта TextStream.
После того как файл первоначально открыт, и до того как в него что-либо записано,
Line равен 1.
function GetLine()
{
var fso, f, r
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("c:\textfile.txt", ForWriting, true)
f.WriteLine("Hello world!");
f.WriteLine("JScript is fun");
f.Close();
f = fso.OpenTextFile("c:\textfile.txt", ForReading);
r = f.ReadAll();
return(f.Line);
}
|
Move (метод)
Переносит указанный файл или папку из одного местоположения в другое.
object.Move( destination );
Синтаксис метода Move имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объектов File или Folder. |
destination |
Обязателен. Место назначения, куда должен быть перенесен файл или папка.
Использование масок не допустимо. |
Результат метода Move на объект File или Folder идентичен результату метода FileSystemObject.MoveFile или FileSystemObject.MoveFolder.
Однако следует помнить, что альтернативные методы способны перемещать несколько файлов или каталогов.
|
MoveFile (метод)
Переносит один или несколько файлов из одного местоположения в другое.
object.MoveFile ( source, destination );
Синтаксис метода MoveFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
source |
Обязателен. Путь к файлу или файлам, которые должны быть перенесены.
Аргумент source может содержать маски только в последней компоненте пути. |
destination |
Обязателен. Путь, куда переносится файл или файлы. Аргумент destination
не может содержать масок. |
Если source содержит маски или destination оканчивается символом разделителем пути(), считается, что destination определяет существующий каталог, в который надо перенести совпадающие с шаблоном файлы. Иначе, destination считается именем файла, который нужно создать. В других случаях, при переносе одного файла могут случиться три ситуации:
Если destination не существует, файл переносится. Это обычный случай.
Если destination - существующий файл, возникает ошибка.
Если destination - каталог, возникает ошибка.
Ошибка также возникает, если маска, используемая в source не совпадает ни с одним файлом.
Метод MoveFile останавливается при первой ошибке. Не делается никаких попыток вернуться назад или отменить любые изменения сделанные перед возникновением ошибки.
|
Важно Метод позволяет переносить файлы между томами, только если это поддерживается операционной системой. |
|
function MoveFile2Desktop(filespec)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.MoveFile(filespec, "c:\windows\desktop\);
}
|
MoveFolder (метод)
Переносит один или несколько каталогов из одного местоположения в другое.
object.MoveFolder ( source, destination );
Синтаксис метода MoveFolder имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта FileSystemObject. |
source |
Обязателен. Путь к папке или папкам, которые должны быть перенесены.
Аргумент source может содержать маски только в последней компоненте пути. |
destination |
Обязателен. Путь, куда переносится папка или папки. Аргумент destination
не может содержать масок. |
Если source содержит маски или destination оканчивается символом разделителем пути(), считается, что destination определяет существующий каталог, в который надо перенести совпадающие с шаблоном папки. Иначе, destination считается именем папки, которую нужно создать. В других случаях, при переносе одного каталога могут случиться три ситуации:
Если destination не существует, каталог переносится. Это обычный случай.
Если destination - существующий файл, возникает ошибка.
Если destination - каталог, возникает ошибка.
Ошибка также возникает, если маска, используемая в source не совпадает ни с одним каталогом.
Метод MoveFolder останавливается при первой ошибке. Не делается никаких попыток вернуться назад или отменить любые изменения сделанные перед возникновением ошибки.
|
Важно Метод позволяет переносить папки между томами, только если это поддерживается операционной системой. |
|
function MoveFldr2Desktop(fldrspec)
{
var fso;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.MoveFolder(fldrspec, "c:\windows\desktop\");
}
}
|
MoveFolder (метод)
Устанавливает или возвращает имя указанного файла или папки. Доступен для чтения/записи.
object.Name [= newname]
Свойство Name имеет следующие аргументы:
аргументы |
Описание |
object |
Обязателен. Всегда имя объекта File или Folder. |
newname |
Необязателен. Если указан, newname - новое имя указанного объекта object. |
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Name + " на Диске " + f.Drive + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Просмотрен: " + f.DateLastAccessed + "<br>";
s += "Модифицирован: " + f.DateLastModified;
return(s);
}
|
OpenAsTextStream (метод)
Открывает указанный файл и возвращает объект TextStream, который может быть использован для чтения из него, записи в него, или для дозаписи в файл.
object.OpenAsTextStream([iomode, [format]])
Синтаксис метода OpenAsTextStream имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта File. |
iomode |
Необязателен. Отражает режим ввода/вывода. Может быть одним из трех констант: ForReading, ForWriting, или ForAppending. |
format |
Необязателен. Используется одно из трех Tristate значений, для отражения формата открываемого файла. Если пропущен, файл открывается как ASCII.
|
Аргумент iomode может иметь любое из следующих значений:
Константа |
Значение |
Описание |
ForReading |
1 |
Открытие файла только для чтения. Нельзя писать в данный файл. |
ForWriting |
2 |
Открытие файла для записи. Если файл с указанным именем уже существует, его содержимое перезаписывается. |
ForAppending |
8 |
Открытие файла и дозапись в его конец. |
Аргумент format может иметь любое из следующих значений:
Константа |
Значение |
Описание |
TristateUseDefault |
-2 |
Открывает файл в формате по умолчанию. |
TristateTrue |
-1 |
Открывает файл в формате Unicode. |
TristateFalse |
0 |
Открывает файл в формате ASCII. |
Метод OpenAsTextStream обеспечивает ту же функциональность, что и метод OpenTextFile из FileSystemObject.
Кроме того, метод OpenAsTextStream может быть использован для записи в файл.
function TextStreamTest( )
{
var fso, f, ts, s;
var ForReading = 1, ForWriting = 2, ForAppending = 8;
var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile( "test1.txt" ); // Create a file.
f = fso.GetFile("test1.txt");
ts = f.OpenAsTextStream(ForWriting, TristateUseDefault);
ts.Write( "Hello World" );
ts.Close( );
ts = f.OpenAsTextStream(ForReading, TristateUseDefault);
s = ts.ReadLine( );
ts.Close( );
return(s);
}
|
OpenTextFile (метод)
Открывает указанный файл и возвращает объект TextStream, который может быть использован для чтения из него, записи в него, или для дозаписи в файл.
object.OpenTextFile(filename[, iomode[, create[, format]]])
Синтаксис метода OpenTextFile имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Object всегда имя объекта FileSystemObject. |
filename |
Обязателен. Строковое выражение, определяющее открываемый файл. |
iomode |
Необязателен. Отражает режим ввода/вывода. Может быть одним из трех констант: ForReading, ForWriting, или ForAppending. |
create |
Необязателен. Логическое значение, отражающее, будет ли создаваться новый файл, если указанный в filename файл не существует. Значение True если будет создаваться, False - если нет. Если пропущен, новый файл не создается. |
format |
Необязателен. Используется одно из трех Tristate значений, для отражения формата открываемого файла. Если пропущен, файл открывается как ASCII.
|
Аргумент iomode может иметь любое из следующих значений:
Константа |
Значение |
Описание |
ForReading |
1 |
Открытие файла только для чтения. Нельзя писать в данный файл. |
ForWriting |
2 |
Открытие файла для записи. Если файл с указанным именем уже существует, его содержимое перезаписывается. |
ForAppending |
8 |
Открытие файла и дозапись в его конец. |
Аргумент format может иметь любое из следующих значений:
Константа |
Значение |
Описание |
TristateUseDefault |
-2 |
Открывает файл в формате по умолчанию. |
TristateTrue |
-1 |
Открывает файл в формате Unicode. |
TristateFalse |
0 |
Открывает файл в формате ASCII. |
var fs, a, ForAppending;
ForAppending = 8;
fs = new ActiveXObject("Scripting.FileSystemObject");
a = fs.OpenTextFile("c:\testfile.txt", ForAppending, false);
...
a.Close();
|
ParentFolder (свойство)
Возвращает объект Folder корневого для указанного файла или папки каталога. Доступен только для чтения.
object.ParentFolder
object всегда объект File или Folder.
function ShowFileAccessInfo(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Name + " in " + f.ParentFolder + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Просмотрен: " + f.DateLastAccessed + "<br>";
s += "Модифицирован: " + f.DateLastModified;
return(s);
}
|
Path (свойство)
Возвращает путь для указанного файла, папки или диска.
object.Path
object всегда объект File, Folder, или Drive.
Для букв дисков, корневой каталог не включается. Например, путь к диску C - C:, а не C:.
function ShowFileAccessInfo(filespec)
{
var fso, d, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = f.Path.toUpperCase() + "<br>";
s += "Создан: " + f.DateCreated + "<br>";
s += "Просмотрен: " + f.DateLastAccessed + "<br>";
s += "Модифицирован: " + f.DateLastModified
return(s);
}
|
Read (метод)
Читает указанное количество символов из TextStream файла и возвращает результирующую строку.
object.Read(characters)
Синтаксис метода Read имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя TextStream объекта. |
characters |
Обязателен. Количество символов, которые необходимо прочитать из файла. |
function GetHeader()
{
var fso, f;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.Write("Header");
f.Write("1234567890987654321");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
return(f.Read(6));
}
|
ReadAll (метод)
Читает весь TextStream файл и возвращает результирующую строку.
object.ReadAll( );
object всегда имя объекта TextStream.
Для больших файлов, использование метода ReadAll приводит к трате ресурсов памяти.
Должна быть использована другая техника чтения из файла, такая как чтение построчно.
function GetEverything()
{
var fso, f;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.Write("Header");
f.Write("1234567890987654321");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
return(f.ReadAll());
}
|
ReadLine (метод)
Читает всю строку (но исключая символ новой строки) из файла TextStream и возвращает результирующую строку.
object.ReadLine( )
object всегда имя объекта TextStream.
function GetLine()
{
var fso, f, r;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.WriteLine("Hello world!");
f.WriteLine("JScript is fun");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
r = f.ReadLine();
return(r);
}
|
RootFolder (свойство)
Возвращает объект Folder представляющий корневой каталог указанного диска. Доступен только для чтения.
object.RootFolder
object всегда объект Drive.
Ко всем папкам и файлам на диске можно получить доступ используя возвращаемый объект Folder.
function GetRootFolder(drv)
{
var fso,d;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.DriveExists(drv))
{
d = fso.GetDrive(drv);
return(d.RootFolder);
}
else
return(false);
}
|
SerialNumber (свойство)
Возвращает десятичный серийный номер, используемый для уникальной идентификации тома диска.
object.SerialNumber
object всегда объект Drive.
Можно использовать свойство SerialNumber для удостоверения, что в устройство со сменными носителями вставлен нужный диск.
function ShowDriveInfo(drvpath)
{
var fso, d, s, t;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
switch (d.DriveType)
{
case 0: t = "Неизвестный"; break;
case 1: t = "Сменный"; break;
case 2: t = "Жесткий"; break;
case 3: t = "Сетевой"; break;
case 4: t = "CD-ROM"; break;
case 5: t = "Виртуальный RAM диск"; break;
}
s = "Диск " + d.DriveLetter + ": - " + t;
s += "<br>" + "SN: " + d.SerialNumber;
return(s);
}
|
ShareName (свойство)
Возвращает сетевое имя ресурса для указанного диска.
object.ShareName
object всегда объект Drive.
Если object не является сетевым диском, свойство ShareName возвращает строку нулевой длины ("").
function ShowDriveInfo(drvpath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(drvpath)));
s = "Диск " + d.DriveLetter + ": - " + d.ShareName;
return(s);
}
|
ShortName (свойство)
Возвращает короткое имя, используемое программами которые требуют раннего 8.3 соглашения об именах файлов.
object.ShortName
object всегда объект File или Folder.
function ShowShortName(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = "Короткое имя для " + "" + f.Name;
s += "" + "<br>";
s += ": " + "" + f.ShortName + "";
return(s);
}
|
ShortPath (свойство)
Возвращает короткий путь, используемый программами которые требуют раннего 8.3 соглашения об именах файлов.
object.ShortPath
object всегда объект File или Folder.
function ShowShortPath(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFile(filespec);
s = "Короткий путь для " + "" + f.Name;
s += "" + " ";
s += ": " + "" + f.ShortPath + "";
return(s);
}
|
Size (свойство)
Для файлов, возвращает размер в байтах, указанного файла. Для каталогов, возвращает размер в байтах всех файлов и подкаталогов заданной папки.
object.Size
object всегда объект File или Folder.
function ShowFolderSize(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(filespec);
s = f.Name + " занимает " + f.size + " байт.";
return(s);
}
|
Skip (метод)
Пропускает указанное количество символов во время чтения TextStream файла.
object.Skip(characters)
Синтаксис метода Skip имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта TextStream. |
characters |
Обязателен. Количество символов, которые нужно пропустить во время чтения файла. |
Пропущенные символы не запоминаются.
function SkipDemo()
{
var fso, f, r;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.WriteLine("Hello world!");
f.WriteLine("JScript is fun");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
f.Skip(6);
r = f.ReadLine();
return(r);
}
|
SkipLine (метод)
Пропускает следующую строку во время чтения TextStream файла.
object.SkipLine( )
object всегда имя объекта TextStream.
function SkipLineDemo()
{
var fso, f, r
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true)
f.WriteLine("Hello world!");
f.WriteLine("JScript is fun");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
f.SkipLine();
r = f.ReadLine();
return(r);
}
|
SubFolders (свойство)
Возвращает коллекцию Folders, содержащую все папки, содержащиеся в указанной папке, включая папки с атрибутами "скрытый" и "системный".
object.SubFolders
object всегда объект Folder.
function ShowFolderList(folderspec)
{
var fso, f, fc, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.GetFolder(folderspec);
fc = new Enumerator(f.SubFolders);
s = "";
for (;!fc.atEnd(); fc.moveNext())
{
s += fc.item();
s += "<br>";
}
return(s);
}
|
TextStream (объект)
Облегчает последовательный доступ к файлу.
TextStream.{property | method( )}
Аргументы property и method могут быть любыми свойствами и методами, поддерживаемыми объектом TextStream.
Следует помнить, что фактическое использование TextStream заменяется переменной, представляющей TextStream объект, возвращаемый FileSystemObject.
В примере, a - это объект TextStream, возвращаемый методом
CreateTextFile из FileSystemObject.
WriteLine и Close два метода объекта TextStream.
var fso = new ActiveXObject("Scripting.FileSystemObject");
var a = fso.CreateTextFile("c:\testfile.txt", true);
a.WriteLine("This is a test.");
a.Close();
|
TotalSize (свойство)
Возвращает размер, в байтах, диска или сетевого ресурса.
object.TotalSize
object всегда объект Drive.
function SpaceReport(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath + " - ";
s += d.VolumeName + "<br>";
s += "Всего места: "+ d.TotalSize/1024 + " Kb <br>";
s += "Свободно: " + d.FreeSpace/1024 + " Kb";
return(s);
}
|
Type (свойство)
Возвращает информацию о типе файла или папки. Например, для файлов с расширением .TXT, возвращается "Text Document".
object.Type
object всегда объект File или Folder.
function ShowFileType(filespec)
{
var fso, f, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FolderExists(filespec))
f = fso.GetFolder(filespec);
else if (fso.FileExists(filespec))
f = fso.GetFile(filespec);
else
s = "Файл или папка не существуют.";
s = f.Name + " это " + f.Type;
return(s);
}
|
VolumeName (свойство)
Устанавливает или возвращает имя тома указанного диска. Доступен для чтения/записи.
object.VolumeName [= newname]
Свойство VolumeName имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта Drive. |
newname |
Необязателен. Если указан, newname это новое имя указанного объекта object. |
function SpaceReport(drvPath)
{
var fso, d, s;
fso = new ActiveXObject("Scripting.FileSystemObject");
d = fso.GetDrive(fso.GetDriveName(drvPath));
s = "Диск " + drvPath + " - ";
s += d.VolumeName + "<br>";
s += "Всего места: "+ d.TotalSize/1024 + " Kb <br>";
s += "Свободно: " + d.FreeSpace/1024 + " Kb";
return(s);
}
|
Write (метод)
Записывает указанную строку в файл TextStream.
object.Write(string)
Синтаксис метода Write имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта TextStream. |
string |
Обязателен. Записываемая в файл строка. |
Указанные строки записываются в файл без пробелов или каких-либо символов между строками.
Следует использовать метод WriteLine для записи символа новой строки или строки с сиволом новой строки на конце.
function WriteDemo()
{
var fso, f, r
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true)
f.Write("Hello world!");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
r = f.ReadLine();
return(r);
}
|
WriteBlankLines (метод)
Записывает указанное количество символов новой строки в TextStream файл.
object.WriteBlankLines(lines)
Синтаксис метода WriteBlankLines имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта TextStream. |
lines |
Обязателен. Количество символов новой строки, которые необходимо записать. |
function WriteBlanksDemo()
{
var fso, f, r;
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true);
f.Write("Hello world!");
f.WriteBlankLines(2);
f.Write("JScript is fun!");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
r = f.ReadAll();
return(r);
}
|
WriteLine (метод)
Записывает указанную строку и символ новой строки в файл TextStream.
object.WriteLine(string)
Синтаксис метода WriteLine имеет следующие аргументы:
Аргумент |
Описание |
object |
Обязателен. Всегда имя объекта TextStream. |
string |
Обязателен. Записываемая в файл строка. |
function WriteLnDemo()
{
var fso, f, r
var ForReading = 1, ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject")
f = fso.OpenTextFile("c:\testfile.txt", ForWriting, true)
f.WriteLine("Hello world!");
f.Close();
f = fso.OpenTextFile("c:\testfile.txt", ForReading);
r = f.ReadLine();
return(r);
}
|
Свойства |
Описание |
Environment |
Возвращает объект типа коллекция WshEnvironment |
SpecialFolders |
Обеспечивает доступ к таким папкам Windows как:
Папка рабочего стола, Папка меню Пуск, Папка личных документов. Использует
объект WshSpecialFolders |
Методы |
Описание |
ExpandEnvironmentStrings |
Определяет значение переменной окружения PROCESS
и возвращает результирующую строку |
Объекты |
Описание |
WshEnvironment |
Напрямую не используется. Доступ осуществляется
через свойство WshShell.Environment |
WshSpecialFolders |
Напрямую не используется. Доступ осуществляется
через свойство WshShell.Folder |
Свойство Environment
Свойство Environment возвращает объект WshEnvironment.
Синтаксис:
WshShell.Environment ([strType]) = objWshEnvironment
Замечания
Если strType определяет, где постоянно находится переменная окружения,
возможные значения "System", "User",
"Volatile", и "Process".
Если strType не
указан, этот метод получает системные переменные в Windows NT или системные
переменные процесса в Windows 95.
Для Windows 95 поддерживается только "Process"
в качестве параметра strType.
Следующие переменные предоставляются операционной системой Windows. Скрипты
могут также получить переменные окружения, которые были установлены другими
прикладными программами.
|
Название |
Описание |
NUMBER_OF_PROCESSORS |
Число процессоров, используемых в компьютере. |
PROCESSOR_ARCHITECTURE |
Тип процессора автоматизированного рабочего места пользователя. |
PROCESSOR_IDENTIFIER |
Идентификатор процессора автоматизированного рабочего места пользователя. |
PROCESSOR_LEVEL |
Уровень процессора автоматизированного рабочего места пользователя. |
PROCESSOR_REVISION |
Версия процессора автоматизированного рабочего места пользователя. |
OS |
Операционная система на автоматизированном рабочем месте пользователя. |
COMSPEC |
Выполнимая программа для команды command prompt (обычно cmd.exe). |
HOMEDRIVE |
Первичный локальный диск (обычно диск C). |
HOMEPATH |
Основной каталог для пользователей по умолчанию (для Windows NT это - обычно usersdefault. |
PATH |
Переменная окружения PATH. |
PATHEXT |
Расширения для исполняемых файлов (обычно .com, .exe, .bat, или .cmd). |
PROMPT |
Командная строка (обычно $P$G). |
SYSTEMDRIVE |
Локальный диск, на котором находится системный каталог (например, c:). |
SYSTEMROOT |
Каталог ОС (например, c:winnt). Аналогичен WINDIR. |
WINDIR |
Каталог ОС (например, c:winnt). Аналогичен SYSTEMROOT. |
TEMP |
Каталог для хранения временных файлов (например, c:temp). User, Volatile |
TMP |
Каталог для хранения временных файлов (например, c:temp). User, Volatile |
Пример
'Определить системную переменную NUMBER_OF_PROCESSORS
Set WshShell = Wscript. CreateObject (" Wscript. Shell ")
Set WshSysEnv = WshShell. Shell ("SYSTEM")
Wscript. ECHO WshSysEnv ("NUMBER_OF_PROCESSORS")
|
Свойство SpecialFolders
Свойство SpecialFolders позволяет объекту WshSpecialFolders получить доступ
к таким папкам Windows как: Папка рабочего стола, Папка меню Пуск, Папка личных документов.
|
Метод ExpandEnvironmentStrings
Синтаксис:
WshShell.ExpandEnvironmentStrings(strString) = strExpandedString
Метод ExpandEnvironmentStrings расширяет переменную окружения
PROCESS, содержащуюся в strString и возвращает результирующую строку. Переменные
заключены между символами %
Имя переменной окружения не чувствительно к регистру.
Пример:
MsgBox "Prompt is " & WshShell.ExpandEnviromentStrings("%PROMPT%")
|
Объект WshEnvironment
Свойства |
Описание |
Item |
Получает или устанавливает значение указанной переменной окружения |
Count |
Количество перечисленных элементов |
length |
Количество перечисленных элементов (JScript) |
Метод |
Описание |
Remove |
Удаляет указанную переменную окружения |
Свойство Item
Синтаксис:
WshEnvironment.Item("strName") = strValue
WshEnvironment("strName") = strValue
Свойство Item устанавливает или возвращает значение
переменной окружения strName. Это свойство - используется по умолчанию.
Примеры на VBScript:
'Получить значение переменной окружения NUMBER_OF_PROCESSORS
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
Wscript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")
' Установить переменной окружения EXAMPLE значение A_VALUE
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshEnv = WshShell.Environment("VOLATILE")
WshEnv("EXAMPLE")= "A_VALUE"
' Отобразить весь список системных переменных окружения
Set WshShell = Wscript.CreateObject("Wscript.Shell")
For Each strVarName In WshShell.Environment("SYSTEM")
MsgBox strVarName
Next
|
Свойство Count
Синтаксис:
WshEnvironment.Count = natNumberOfItems
Свойство Count предоставляет количество перечисленных элементов
|
Свойство length
Синтаксис:
WshEnvironment.length = natNumberOfItems
Свойство length предоставляет количество перечисленных элементов.
Это свойство обеспечивает ту же функциональность, что и Count
и введено только для совместимости с JScript
|
Метод Remove
Синтаксис:
WshEnvironment.Remove(strName)
Метод Remove удаляет переменную окружения, определяемую strName
Примеры на VBScript:
' Удаляет переменную окружения EXAMPLE
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Environment("VOLATILE").Remove("EXAMPLE")
' Удаляет несколько переменных
Set WshUsrEnv = Wscript.Environment("User")
WshUsrEnv.Remove("EXAMPLE_1")
WshUsrEnv.Remove("EXAMPLE_2")
WshUsrEnv.Remove("EXAMPLE_3")
WshUsrEnv.Remove("EXAMPLE_4")
|
Объект WshSpecialFolders
Свойства |
Описание |
Item |
Полный путь к указанной специальной папки (по умолчанию) |
Count |
Количество перечисленных элементов |
length |
Количество перечисленных элементов (JScript) |
Свойство Item
Синтаксис:
WshShell.SpecialFolders.Item("strFolderName") = strFolderPath
WshShell.SpecialFolders("strFolderName") = strFolderPath
Свойство Item возвращает полный путь к специальной папке,
определяемой strFolderName
Замечания
WshShell.SpecialFolders("strFolderName") возвращает NULL,
если запрашиваемая папка strFolderName не доступна. Например, Windows95
не имеет папки AllUsersDesktop, и возвращает NULL, если strFolderName=AllUsersDesktop.
Следующие специальные папки существуют в операционных системах Windows95 и
WindowsNT 4.0:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
Пример:
' Этот фрагмент возвращает полный путь к папке рабочего стола Windows
Set WshShell = Wscript.CreateObject("Wscript.Shell")
StrMyDesktop = WshShell.SpecialFolders("Desktop")
' Перечислить все специальные папки
For Each strFolder In WshShell.SpecialFolders
MsgBox strFolder
Next
|
Свойство Count
Синтаксис:
WshSpecialFolders.Count = natNumberOfItems
Свойство Count предоставляет количество перечисленных элементов
|
Свойство length
Синтаксис:
WshSpecialFolders.length = natNumberOfItems
Свойство length предоставляет количество перечисленных элементов.
Это свойство обеспечивает ту же функциональность, что и Count
и введено только для совместимости с JScript
|
Методы |
Описание |
Run |
Создание нового процесса |
Exec |
Выполнение приложения в дочернем окне-оболочке |
Метод Run
Синтаксис:
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
Метод Run создает новый процесс и выполняет strCommand в окне,
имеющем стиль intWindowStyle
Параметры:
strCommand
Переменные окружения в границах strCommand
расширяются автоматически
intWindowStyle
Это значение, в которое устанавливается wShowWindow - элемент структуры STARTUPINFO
для нового процесса. Может принимать следующие значения:
Название |
Величина |
Значение |
SW_HIDE |
0 |
Прячет окно и активирует другое окно |
SW_MINIMIZE |
6 |
Минимизирует указанное окно и активирует следующее окно верхнего
уровня в Z порядке |
SW_RESTORE |
9 |
Активирует и показывает окно. Если окно минимизировано или максимизировано,
Windows восстанавливает его первоначальный размер и положение. Приложение должно
задать этот флаг, если восстанавливается минимизированное окно. |
SW_SHOW |
5 |
Активизирует и показывает окно с его текущими положением и размерами |
SW_SHOWMAXIMIZED |
3 |
Активизирует окно и показывает его максимизированным |
SW_SHOWMINIMIZED |
2 |
Активизирует окно и показывает его минимизированным |
SW_SHOWMINNOACTIVE |
7 |
Показывает окно минимизированным. Активное окно остается активным |
SW_SHOWNA |
8 |
показывает окно в его текущем состоянии. Активное окно остается активным |
SW_SHOWNOACTIVATE |
4 |
Показывает окно с его последними размерами и положением. Активное окно остается активным |
SW_SHOWNORMAL |
1 |
Активизирует и показывает окно. Если оно было минимизировано или
максимизировано, Windows восстанавливает его первоначальные размер и положение |
blnWaitOnReturn
Если blnWaitOnReturn не задан или равен FALSE, метод немедленно возвращается для
продолжения выполнения скрипта, не ожидая завершения выполнения процесса.
Если blnWaitOnReturn установлен в TRUE, метод Run возвращает любой код
ошибки, переданный приложением.
Если blnWaitOnReturn не задан или равен FALSE, метод Run
возвращает код ошибки 0
Пример:
' Этот фрагмент запускает NotePad во время выполнения скрипта.
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%notepad" & Wscript.ScriptFullName)
' Этот фрагмент возвращает код ошибки выполненного приложения
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)
|
Метод Exec
Выполняет приложение в дочерней коммандной оболочке, обеспечивая доступ к
потокам StdIn/StdOut/StdErr.
Синтаксис:
WshShell.Exec(strCommand)
Параметры:
strCommand
строковое значение, отражающее командную строку, используемую для запуска скрипта.
Командная строка должна быть в точности такой, как если бы задавалась в строке
приглашения.
Замечание:
Метод Exec возвращает объект WshScriptExec (обеспечивающий статус и информацию об
ошибке скрипта, выполняемого с помощью Exec, одновременно с доступом к каналам
StdIn, StdOut, и StdErr). Метод Exec позволяет выполнять только приложения, вызываемые
командной строкой. Метод Exec не может быть использован для выполнения удаленных скриптов.
Не следует путать метод Exec с методом Execute (объект WshRemote).
Пример:
//Данный пример демонстрирует, как метод Exec
выполняется из скрипта командной строки
var aJob = WshShell.Exec("%comspec% /c myScript.js");
|
Свойство ComputerName
Свойство ComputerName обеспечивает строковое представление
имени компьютера
Синтаксис:
WshNetwork.ComputerName = strComputerName
|
Свойство UserDomain
Свойство UserDomain обеспечивает строковое представление
имени домена пользователя
Синтаксис:
WshNetwork.UserDomain = strDomain
|
Свойство UserName
Свойство UserName обеспечивает строковое представление
имени пользователя
Синтаксис:
WshNetwork.UserName = strName
|
Метод AddWindowsPrinterConnection
Синтаксис:
WshNetwork.AddWindowsPrinterConnection(strPrinterPath, strDriverName, [strPort])
Метод AddWindowsPrinterConnection добавляет основанное на Windows связывание с принтером
Параметры:
strPrinterPath
строка, определяющая путь к присоединяемому принтеру
strDriverName
строка, определяющая имя драйвера (игнорируется при использовании WindowsNT/2000)
strPort
Необязательный параметр. Строка, определяющая порт принтера для установления связи
(игнорируется при использовании WindowsNT/2000).
Замечания:
Использование этого метода похоже на использование опции Printer в панели
управления для добавления принтера. В отличие от метода AddPrinterConnection,
этот метод позволяет создать принтерное соединение без указания порта (например LPT1)
Если соединение не удается, посылается сообщение об ошибке. В Windows 9x/ME драйвер
принтера уже должен быть установлен на компьютере, использующем метод AddPrinterConnection.
Если драйвер не установлен, Windows выдаст сообщение об ошибке.
Пример:
//Данный пример присоединяет сетевой принтер в среде Windows 9x/ME
Set WshNetwork = WScript.CreateObject("WScript.Network")
Set PrinterPath = "\printservDefaultPrinter"
Set PrinterDriver = "Lexmark Optra S 1650"
WshNetwork.AddWindowsPrinterConnection(PrinterPath, PrinterDriver)
|
Метод AddPrinterConnection
Синтаксис:
WshNetwork.AddPrinterConnection strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]
Метод AddPrinterConnection связывает удаленный принтер определяемый
strRemoteName с локальным именем ресурса strLocalName
Параметры:
strLocalName
локальный ресурс, с которым происходит связывание
strRemoteName
удаленный принтер, с которым происходит связывание
bUpdateProfile
Если bUpdateProfile поддерживается, и его значение TRUE, это связывание
сохраняется в профиле пользователя
strUser
Если вы связываете удаленный принтер, используя параметры, отличные
от параметров текущего пользователя, можно указать strUser и strPassword
strPassword
Если вы связываете удаленный принтер, используя параметры, отличные
от параметров текущего пользователя, можно указать strUser и strPassword
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
WshNetwork.AddPrinterConnection "LPT1", "\ServerPrint1"
|
Метод EnumNetworkDrives
Метод EnumNetworkDrives возвращает текущую схему сетевых дисков
в виде объекта Коллекция. Элементы коллекции - локальные и удаленные имена.
Синтаксис:
WshNetwork.EnumNetworkDrive = objWshCollection
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
Set oDrives = WshNetwork.EnumNetworkDrives
Wscript.Echo oDrives.Item(0) = "Z:"
Wscript.Echo oDrives.Item(1) = "\ServerShare"
|
Метод EnumPrinterConnections
Метод EnumPrinterConnections возвращает текущую схему сетевых принтеров
в виде объекта Коллекция. Элементы коллекции - локальные и удаленные имена.
Синтаксис:
WshNetwork.EnumPrinterConnections = objWshCollection
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
Wscript.Echo oPrinters.Item(0) = "LPT1:"
Wscript.Echo oPrinters.Item(1) \ServerPrinter1"
|
Метод MapNetworkDrive
Синтаксис:
WshNetwork.MapNetworkDrive strLocalName, strRemoteName, [bUpdateProfile], [strUser], [strPassword]
Метод MapNetworkDriveУказывет общую точку, определяемую strRemoteName
для локального имени ресурса strLocalName
Параметры:
strLocalName
локальный ресурс, с которым происходит связывание
strRemoteName
удаленный ресурс, с которым происходит связывание
bUpdateProfile
Если bUpdateProfile поддерживается, и его значение TRUE, это связывание
сохраняется в профиле пользователя
strUser
Если вы связываете удаленный принтер, используя параметры, отличные
от параметров текущего пользователя, можно указать strUser и strPassword
strPassword
Если вы связываете удаленный принтер, используя параметры, отличные
от параметров текущего пользователя, можно указать strUser и strPassword
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
WshNetwork.MapNetworkDrive "Z:", "\ServerShare"
|
Метод RemoveNetworkDrive
Синтаксис:
WshNetwork.RemoveNetworkDrive strName, [bForce], [bUpdateProfile]
Метод RemoveNetworkDrive удаляет текущее соединение с сетевым диском,
указываемым в strName
Параметры:
strName
параметр strName может быть либо локальным либо удаленным именем,
в зависимости от того как расположен диск. Если диск расположен между
локальным именем (буква диска) и удаленным именем, тогда strName должен быть
установлен как локальное имя. Если путь к сети не имеет локальных имен (букв
дисков), тогда strName должен быть установлен как удаленное имя.
bForce
Если bForce поддерживается, и его значение TRUE, метод удаляет
соединение независимо от того, используется ресурс или нет
bUpdateProfile
Если bUpdateProfile поддерживается, и его значение TRUE, это связывание
сохраняется в профиле пользователя
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
' Локальное имя связывается с удаленным ресурсом
WshNetwork.MapNetworkDrive "Z:", "\ServerShare"
WshNetwork.RemoveNetworkDrive "Z:"
' Отсутствие связываний таких как:
' NET USE \ServerShareWshNetwork.RemoveNetworkDrive "\ServerShare"
WshNetwork.MapNetworkDrive "\ServerShare"
WshNetwork.RemoveNetworkDrive "\ServerShare"
|
Метод RemovePrinterConnection
Синтаксис:
WshNetwork.RemovePrinterConnection strName, [bForce], [bUpdateProfile]
Метод RemovePrinterConnection удаляет текущее соединение с сетевым принтером,
указываемым в strName
Параметры:
strName
параметр strName может быть либо локальным либо удаленным именем,
в зависимости от того подключен диск. Если принтер расположен между
локальным именем (например LPT1) и удаленным именем, тогда strName должен быть
установлен как локальное имя. Если путь к сети не имеет локальных имен (букв
дисков), тогда strName должен быть установлен как удаленное имя.
bForce
Если bForce поддерживается, и его значение TRUE, метод удаляет
соединение независимо от того, используется ресурс или нет
bUpdateProfile
Если bUpdateProfile поддерживается, и его значение TRUE, это связывание
сохраняется в профиле пользователя
Пример:
Set WshNetwork = Wscript.CreateObject("Wscript.Network")
' локальное имя связано с удаленным ресурсом
WshNetwork.RemovePrinterConnection "LPT1:"
' Нет связывания с локальным именем. Например NET USE "\ServerPrinter1"
WshNetwork.RemovePrinterConnection "\ServerPrinter1"
|
Метод SetDefaultPrinter
Синтаксис:
WshNetwork.SetDefaultPrinter=strPrinterName
Метод SetDefaultPrinter связывает устройство печати по умолчанию
с сетевым принтером, указанным в strPrinterName
Параметры:
strPrinterName
Имя удаленного принтера для установки печатающего устройства по умолчаннию,
например "\ServerPrinter1". Следует помнить, что strPrinterName не может
быть локальным именем, таким как "LPT1:"
|
Метод CreateShortcut
Метод CreateShortcut создает объект WshShortcut и
возвращает его. Если заголовок ярлыка оканчивается на .url - создается
объект WshURLShortcut
Синтаксис:
WshShell.CreateShortcut(strPathname) = objShortcut
Пример:
' Этот фрагмент кода создает ярлык
' к выполняющемуся в данный момент скрипту
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save
Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = "http://www.microsoft.com"
oUrlLink.Save
|
Объект WshShortcut
Свойства |
Описание |
Arguments |
Параметры для объекта, описываемого ярлыком |
Description |
Описание объекта, описываемого ярлыком |
Hotkey |
Горячие клавиши для объекта ярлыка |
IconLocation |
Расположение иконки объекта ярлыка |
TargetPath |
Путь к объекту ярлыка |
WindowStyle |
Стиль окна для объекта ярлыка |
WorkingDirectory |
Рабочий каталог для объекта ярлыка |
Методы |
Описание |
Save |
Сохранение ярлыка в указанной файловой системе |
Свойство Arguments
Свойство Arguments обеспечивает параметры для объекта ярлыка
Синтаксис:
WshShortcut.Arguments = strArguments
|
Свойство Description
Свойство Description обеспечивает описание для объекта ярлыка
Синтаксис:
WshShortcut.Description = strDescription
|
Свойство Hotkey
Свойство Hotkey обеспечивает горячие клавиши для объекта ярлыка.
Горячая клавиша - это комбинация клавиш клавиатуры, которая обеспечивает
быстрый запуск или переключение на данное приложение.
Синтаксис:
WshShortcut.HotKey = strHotKey
Замечания:
Строка strHotKey формируется по следующему образцу:
Hotkey     ::= modifier* keyname
modifier    ::= "ALT+" | "CTRL+" | "SHIFT+" | "EXT+"
keyname  ::= "A" .. "Z" |"0".. "9" |"Back" | "Tab" | "Clear" | "Return" |
"Escape" | "Space" | "Prior" | ...
Полные имена клавиш могут быть найдены в файле WINUSER.H. Горячие клавиши
не чувствительны к регистру.
Горячие клавиши могут активизировать ярлыки, находящиеся только на рабочем
столе Windows или в меню Пуск.
Windows Explorer не воспринимает клавиши ESC, ENTER, TAB, SPACE, PRINT SCREEN, BACKSPACE
,несмотря на WshShortcut. Данные клавиши могут указываться как горячие только
в согласовании с Win32 API. Однако рекоммендуется не использовать их в ярлыках.
Пример:
Set WshShell = Wscript.CreateObject("Wscript.WshShell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oMyShortcut = WshShell.CreateShortcut(strDesktop & "a_key.lnk")
OMyShortcut.TargetPath = "%windir%notepad.exe"
oMyShortCut.Hotkey = "ALT+CTRL+F"
oMyShortCut.Save
Wscript.Echo oMyShortCut.HotKey = "Alt+Ctrl+F"
|
Свойство IconLocation
Свойство IconLocation обеспечивает путь к иконке для объекта ярлыка. Формат
пути должен быть "Путь, индекс"
Синтаксис:
WshShortcut.IconLocation = strIconLocation
|
Свойство TargetPath
Свойство TargetPath обеспечивает путь к объектe ярлыка.
Синтаксис:
WshShortcut.TargetPath = strTargetPath
|
Свойство WindowStyle
Свойство WindowStyle обеспечивает стиль окна объекта ярлыка.
Синтаксис:
WshShortcut.WindowStyle = natWindowStyle
|
Свойство WorkingDirectory
Свойство WorkingDirectory обеспечивает рабочий каталог объекта ярлыка.
Синтаксис:
WshShortcut.WorkingDirectory = strWorkingDirectory
|
Метод Save
Метод Save сохраняет объект ярлык по указанному в свойстве FullName пути.
Синтаксис:
WshShortcut.Save
|
Объект WshURLShortcut
Свойства |
Описание |
FullName |
Полный путь к объекту URL ярлык |
TargetPath |
Путь к объекту URL ярлык |
Методы |
Описание |
Save |
Сохранение ярлыка в указанной файловой системе |
Свойство FullName
Свойство FullName обеспечивает полный путь к объекту ярлыка.
Синтаксис:
WshUrlShortcut.FullName = strFullName
|
Свойство TargetPath
Свойство TargetPath обеспечивает путь к объекту ярлыка.
Синтаксис:
WshUrlShortcut.TargetPath = strTargetPath
|
Метод Save
Метод Save сохраняет объект ярлык по указанному в свойстве FullName пути.
Синтаксис:
WshUrlShortcut.Save
|
Методы |
Описание |
RegDelete |
Удаляет указанный ключ или значение из реестра |
RegRead |
Возвращает указанный ключ или значение из реестра |
RegWrite |
Устанавливает указанный ключ или значение в реестре |
Метод RegDelete
Синтаксис:
WshShell.RegDelete strName
Метод RegDelete удаляет из реестра ключ или значение, указанное в strName
Параметры:
strName
Если strName заканчивается бэкслэшем (), метод удаляет ключ вместо значения.
Параметр strName должен начинаться одним из следующих корневых имен ключей:
Short |
Long |
HKCU |
HKEY_CURRENT_USER |
HKLM |
HKEY_LOCAL_MACHINE |
HKCR |
HKEY_CLASSES_ROOT |
|
HKEY_USERS |
|
HKEY_CURRENT_CONFIG |
Пример:
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegDelete "HKCUScriptEngineValue" ' Удалить значение "Value"
WshShell.RegDelete "HKCUScriptEngineKey" ' Удалить ключ "Key"
|
Метод RegRead
Синтаксис:
WshShell.RegRead(strName) = strValue
Метод RegRead возвращает из реестра ключ или значение, указанное в strName
Параметры:
strName
Если strName заканчивается бэкслэшем (), метод удаляет ключ вместо значения.
Параметр strName должен начинаться одним из следующих корневых имен ключей:
Short |
Long |
HKCU |
HKEY_CURRENT_USER |
HKLM |
HKEY_LOCAL_MACHINE |
HKCR |
HKEY_CLASSES_ROOT |
|
HKEY_USERS |
|
HKEY_CURRENT_CONFIG |
Замечания:
Метод RegRead поддерживает только REG_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BINARY, и REG_MULTI_SZ
типы данных. Если реестр содержит другие типы данных, RegRead возвращает DISP_E_TYPEMISMATCH
Пример:
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead "HKCUScriptEngineValue" ' Получить значение "Value"
WshShell.RegRead "HKCUScriptEngineKey" ' Получить ключ "Key"
|
Метод RegWrite
Синтаксис:
WshShell.RegWrite strName, anyValue, [strType]
Метод RegWrite задает в реестре ключ или значение, указанное в strName
Параметры:
strName
Если strName заканчивается бэкслэшем (), метод удаляет ключ вместо значения.
Параметр strName должен начинаться одним из следующих корневых имен ключей:
Short |
Long |
HKCU |
HKEY_CURRENT_USER |
HKLM |
HKEY_LOCAL_MACHINE |
HKCR |
HKEY_CLASSES_ROOT |
|
HKEY_USERS |
|
HKEY_CURRENT_CONFIG |
anyValue
Метод RegWrite автоматически конвертирует anyValue в строку, когда
strType задан как REG_SZ или REG_EXPAND_SZ. Если strType задан как REG_DWORD,
anyValue конвертируется в целое число.Если strType задан как REG_BINARY,
anyValue должно быть целым.
strType
Метод RegWrite поддерживает в качестве strType: REG_SZ, REG_EXPAND_SZ, REG_DWORD и REG_BINARY.
если в strType задан другой тип данных, RegWrite возвращает E_INVALIDARG.
Пример:
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCUScriptEngineValue", "Some string value"
WshShell.RegWrite "HKCUScriptEngineKey", 1 "REG_DWORD"
|
|