JavaScript - извлекать имена папок - PullRequest
2 голосов
/ 23 октября 2008

Я довольно новичок в JavaScript.

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

Большое спасибо заранее.

Ответы [ 4 ]

5 голосов
/ 23 октября 2008

Вот небольшой скрипт для начала работы с 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 и его родственниках действительно могут спасти день.

1 голос
/ 23 октября 2008

Если сценарий будет выполняться в контексте, в котором имеет смысл попытаться получить доступ к локальным жестким дискам (например, в cscript или классическом ASP), лучшим вариантом будет FileSystemObject .

1 голос
/ 23 октября 2008

Вы не можете сделать это через Javascript в браузере, так как JS не имеет такого доступа к файловой системе из браузера.

0 голосов
/ 23 октября 2008

Если вы выполняете JavaScript в веб-браузере, вы не сможете этого сделать, потому что в этом сценарии JavaScript не имеет доступа к локальной файловой системе по соображениям безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...