WScript.Echo(s);
/************* Конец *********************************************/
'*****************************************************************
' Имя: SpecFold1.vbs
' Язык: VBScript
' Описание: Вывод названий всех специальных папок Windows
'*****************************************************************
Option Explicit
Dim WshShell, WshFldrs, SpecFldr, s ' Объявляем переменные
' Создаем объект WshShell
Set WshShell = WScript.CreateObject('Wscript.Shell')
' Создаем объект WshSpecialFolders
Set WshFldrs = WshShell.SpecialFolders
s='Список всех специальных папок:' & vbCrLf & vbCrLf
' Перебираем все элементы коллекции WshFldrs
For Each SpecFldr In WshFldrs
' Формируем строки с путями к специальным папкам
s=s & SpecFldr & vbCrLf
Next
WScript.Echo s
'************* Конец *********************************************/
Объект WshSpecialFolders
также позволяет получить путь к конкретно заданной специальной папке. Например, в сценарии SpecFold2.js (листинг 2.40) на экран выводятся пути к папкам рабочего стола (Desktop), избранных ссылок (Favorites) и раздела Программы (Programs) меню Пуск (Run) — рис. 2.16.

Рис. 2.16. Пути для некоторых специальных папок
/******************************************************************/
/* Имя: SpecFold2.js */
/* Язык: JScript */
/* Описание: Вывод названий заданных специальных папок Windows */
/******************************************************************/
var WshShell, WshFldrs, s; //Объявляем переменные
//Создаем объект WshShell
WshShell = WScript.CreateObject('Wscript.Shell');
//Создаем объект WshSpecialFolders
WshFldrs = WshShell.SpecialFolders;
//Формируем строки с путями к конкретным специальным папкам
s='Некоторые специальные папки:
';
s+='Desktop: '+WshFldrs('Desktop')+'
';
s+='Favorites: '+WshFldrs('Favorites')+'
';
s+='Programs: '+WshFldrs('Programs');
WScript.Echo(s); //Выводим сформированные строки на экран
/************* Конец *********************************************/
Реализация того же сценария на языке VBScript приведена в листинге 2.41.
'******************************************************************
' Имя: SpecFold2.vbs
' Язык: VBScript
' Описание: Вывод названий заданных специальных папок Windows
'******************************************************************
Option Explicit
Dim WshShell, WshFldrs, s ' Объявляем переменные
' Создаем объект WshShell
Set WshShell = WScript.CreateObject('Wscript.Shell')
' Создаем объект WshSpecialFolders
Set WshFldrs = WshShell.SpecialFolders
' Формируем строки с путями к конкретным специальным папкам
s='Некоторые специальные папки:' & vbCrLf & vbCrLf
s=s+'Desktop:'+WshFldrs('Desktop') & vbCrLf
s=s+'Favorites:'+WshFldrs('Favorites') & vbCrLf
s=s+'Programs:'+WshFldrs('Programs')
WScript.Echo s ' Выводим сформированные строки на экран
'************* Конец *********************************************/
Создание ярлыков в специальных папках
Для того чтобы из сценария создать ярлык в специальной папке (рабочий стол, меню Пуск (Start) и т.п.) или изменить свойства уже существующего ярлыка, необходимо:
1. Используя коллекцию WshSpecialFolders
, узнать путь к нужной специальной папке.
2. С помощью метода CreateShortcut
объекта WshShell
создать объект WshShortcut
(WshUrlShortcut
) для связи с ярлыком в этой папке.
3. Задать или изменить свойства ярлыка с помощью соответствующих методов объекта WshShortcut
(WshUrlShortcut
).
4. Сохранить ярлык с помощью метода Save объекта WshShortcut (WshUrlShortcut).
Объект WshShortcut
предоставляет доступ к следующим свойствам ярлыков (рис. 2.17):
? Объект (Target);
? Рабочая папка (Start in);
? Быстрый вызов (Shortcut key);
? Окно (Run);
? Комментарий (Comment).
Кроме этого, с помощью объекта WshShortcut
можно сменить значок, который соответствует ярлыку.

Рис. 2.17. Свойства ярлыка в Windows ХР
Остальных свойств, имеющихся у ярлыков в Windows ХР, объект WshShortcut
не поддерживает (например, нельзя установить или сбросить флажок, позволяющий запускать процесс в отдельном адресном пространстве или под другой учетной записью пользователя).
В качестве примера ниже приведен сценарий Shortcut.js (листинг 2.42), в котором создается ярлык 'Мой ярлык.lnk' на Блокнот (notepad.exe), причем этот ярлык может быть сохранен либо в меню Программы (Programs) работающего пользователя, либо на его рабочем столе. Выбор специальной