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