Я новичок в JavaScript.
Учитывая путь к папке на локальном компьютере (Windows), мне было интересно, как можно извлечь имена всех возможных папок по текущему пути, не зная, сколько папок существует и как они называются.
Заранее большое спасибо.





Вы не можете сделать это через Javascript в браузере, поскольку JS не имеет такого доступа к файловой системе из браузера.
Если вы выполняете JavaScript в веб-браузере, вы не можете, потому что в этом сценарии JavaScript не имеет доступа к локальной файловой системе по соображениям безопасности.
Предполагая, что сценарий будет выполняться в контексте, в котором имеет смысл попытаться получить доступ к локальным жестким дискам (например, в cscript или классическом ASP), лучшим вариантом будет FileSystemObject.
Вот небольшой сценарий, который поможет вам начать работу с FileSystemObject в сочетании с JScript:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var shell = new ActiveXObject("WScript.Shell");
var path = "%ProgramFiles%";
var programFiles = fso.GetFolder(shell.ExpandEnvironmentStrings(path));
var subFolders = new Enumerator(programFiles.SubFolders);
while (!subFolders.atEnd())
{
var subFolder = subFolders.item();
WScript.Echo(subFolder.Name);
subFolders.moveNext();
}
Вызовите это с помощью csript.exe в командной строке:
cscript subfolders.js
Документация по Windows Script 5.6 содержит всю необходимую информацию по этой теме (и многим другим). Скачайте и пользуйтесь, это действительно полезно. В системах Windows небольшое знание FileSystemObject и его родственников действительно может спасти положение.