アプリ版:「スタンプのみでお礼する」機能のリリースについて

初めまして。
WSH初心者の者です。
ファイル一覧についてご質問があります。
下記のようなスクリプト(.js)を作成したいと思っています。
「D:\\test」の中身
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
これらをWSHで一覧(コレクション)として取得し、
配列のように
test[0] = "1.txt";
test[1] = "2.txt";
test[2] = "3.txt";
test[3] = "4.txt";
test[4] = "5.txt";
test[5] = "6.txt";
別々に取り出したいと思っております。

現状リファレンス等を参考に下記のような記述をしてみました。
※ほとんどリファレンス通りです;汗


var fso = new ActiveXObject("Scripting.FileSystemObject");

var oFolder = fso.GetFolder("D:\\test");

var oMessage = "";
var oEFiles = new Enumerator(oFolder.Files);
for( ; !oEFiles.atEnd(); oEFiles.moveNext())
{
var oFiles_name = oEFiles.item();
oMessage += oEFiles.item().Name + "\n";
}
WScript.Echo(oMessage);

これで実行すると
Windows Script Host
1.txt
2.txt
3.txt
4.txt
5.txt
6.txt
と表示され、できた!と思っていたのですが、
一つ一つ配列で取り出そうと、
WScript.Echo(oMessage[0]);
と足すと、何も入っていない状態になってしまいます。
この場合、どの様に修正、追加すればいいのかわからず、
迷っています。
(根本から使い方を間違っている?)

もしお分かりの方がいらっしゃいましたら、
ご教授お願い致します。

A 回答 (1件)

oMessageが配列なら、



>var oMessage = "";

これはないでしょ・・・
ざっと書くとこんな感じ?

var fso = new ActiveXObject("Scripting.FileSystemObject");
var oFolder = fso.GetFolder("D:\\test");

var oMessage = new Array();
var oEFiles = new Enumerator(oFolder.Files);
while(!oEFiles.atEnd()){
oMessage.push( oEFiles.item().Name );
oEFiles.moveNext();
}
WScript.Echo(oMessage[0]);
    • good
    • 0
この回答へのお礼

yambejpさん
お返事ありがとうございます。

>var oMessage = "";
きちんと確認せず出してしまいました。。。。
すみません。。


コードの方ありがとうございます。
何個か全く知らなかった文があるので、研究させて頂きます!
本当感謝です。

お礼日時:2011/07/05 10:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!