В Windows XP появился таинственный UserAccounts.CommonDialog
объект WSH , который позволил VBScript и JScript запустить запрос выбора файла. По-видимому, это было признано угрозой безопасности и удалено в Vista.
Однако объект WSH Shell.Application Метод BrowseForFolder по-прежнему позволяет создать диалог выбора папки. Вот пример гибридного пакета + JScript. Сохраните его с расширением .bat
.
@if (@a==@b) @end /*
:: fchooser2.bat
:: batch portion
@echo off
setlocal
for /f "delims=" %%I in ('cscript /nologo /e:jscript "%~f0"') do (
echo You chose %%I
)
goto :EOF
:: JScript portion */
var shl = new ActiveXObject("Shell.Application");
var folder = shl.BrowseForFolder(0, "Please choose a folder.", 0, 0x00);
WSH.Echo(folder ? folder.self.path : '');
[/g7]
В методе BrowseForFolder()
четвертый аргумент указывает корень иерархии. См. ShellSpecialFolderConstants для списка допустимых значений.