[英]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.