2008-10-22 4 views
2

Я довольно новичок в JavaScript.JavaScript - вырезать имена папок

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

спасибо, что заранее.

ответ

1

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

0

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

1

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

5

Вот небольшой скрипт, чтобы вы начали с 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 Documentation держит все детали, которые вам нужны по этой теме (и многие другие). Скачайте его и попробуйте, это действительно полезно. В системах Windows небольшое знание FileSystemObject и его родственников действительно может спасти день.

Смежные вопросы