繁体   English   中英

jscript-获取目录中文件的列表

[英]jscript - getting list of files in directory

这似乎应该很容易。 我以前从未使用过JScript,并且正在查看Microsoft提供的JScript api,但没有运气。 这是我所拥有的:

    var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("New Tracks.txt", true);
var objShell = new ActiveXObject("Shell.Application");
var lib;
lib = objShell.BrowseForFolder(0,"Select Library Folder",0);
items = lib.Items()
for (i=0;i<items.Count;i++)
{
    fitem = items[i];
    tf.WriteLine(fitem.Name);
}
WScript.Echo("Done");
tf.Close();

我收到关于fitem.Name的错误,它不是对象或null或其他东西。 但是,该文件夹中肯定有文件。

脚本中的items变量包含FolderItems集合,而不是数组。 要访问集合的项目,您需要使用Items(index)表示法。 因此,更换

fitem = items[i];

fitem = items.Item(i);

将使脚本正常工作。

这对我有用,我必须更改文件的路径,否则我将被拒绝访问(Win 7)。

  <script language="JScript">
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\\New Tracks.txt", true);

var objShell = new ActiveXObject("Shell.Application");
var lib;

lib = objShell.BrowseForFolder(0,"Select Library Folder",0);

var en = new Enumerator(lib.Items());

for (;!en.atEnd(); en.moveNext()) {
    tf.WriteLine(en.item());
}

WScript.Echo("Done");
tf.Close();
  </script>

显然,您不能像数组一样访问它,而必须调用Item()方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM