2

私はJavaScriptにかなり慣れていません。

ローカルマシンのフォルダーパス(Windows)を考えると、フォルダーの数やフォルダーの名前を知らなくても、現在のパスで使用可能なすべてのフォルダーの名前を抽出するにはどうすればよいのでしょうか。

事前にどうもありがとうございました。

4

4 に答える 4

5

JScript と組み合わせて FileSystemObject を使い始めるための小さなスクリプトを次に示します。

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 とその親戚について少し知っているだけで、本当に助かります。

于 2008-10-22T21:18:41.890 に答える
1

JSはブラウザからファイルシステムにそのようなアクセス権を持っていないため、ブラウザでJavascriptを介してこれを行うことはできません。

于 2008-10-22T20:39:41.097 に答える
1

スクリプトがローカル ハード ドライブへのアクセスを試行するのが理にかなっているコンテキストで実行されると仮定すると (たとえば、cscript または従来の ASP で)、最善の策はFileSystemObjectです。

于 2008-10-22T20:45:05.140 に答える
0

このシナリオでは、セキュリティ上の理由からJavaScriptがローカルファイルシステムにアクセスできないため、WebブラウザでJavaScriptを実行している場合は実行できません。

于 2008-10-22T20:40:20.407 に答える