Тема: WSH: пишем COM-серверы в формате Windows Script Component (WSC)
Пример создания минимального COM-сервера Windows Script Component (WSC). Код компонента (сохраните как файл .wsc):
<?xml version='1.0' encoding='windows-1251' standalone='yes'?>
<component>
<registration progid='FoldersTreeEnumerator'/>
<public>
<method name='ConnectToFolder'/>
<method name='item'/>
<method name='atEnd'/>
<method name='moveNext'/>
</public>
<object id='fso' progid='Scripting.FileSystemObject'/>
<script language="JScript"><![CDATA[
var Item, Top;
function ConnectToFolder(FolderPath) {
Item=fso.GetFolder(FolderPath);
Top=null;
}
function item() {return Item;}
function atEnd() {return !Item;}
function moveNext() {
Top={
SubFolders: new Enumerator(Item.SubFolders),
Parent: Top
};
while (!(Item=Top.SubFolders.item())) {
if (!(Top=Top.Parent)) return;
Top.SubFolders.moveNext();
}
}
]]></script>
</component>
Зарегистрируйте компонент командой наподобие следующей:
regsvr32 "%SystemRoot%\system32\test.wsc"
Пример скрипта, использующего компонент (рекурсивно выведет подкаталоги каталога C:\Temp):
Set t = CreateObject("FoldersTreeEnumerator")
t.ConnectToFolder "C:\Temp"
While Not t.atEnd()
WScript.Echo t.item().Path
t.moveNext
Wend
Автор примера - wisgest.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.