簡體   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