• 締切済み

【VBS】 フォルダ直下のファイル名を配列に取り込む方法

いつもお世話になっております。 WindowsXP環境のある【D:\test】フォルダにいくつかのテキストファイルやエクセルファイル等があります。 これらのファイル名及び更新日時をVBSの配列( File()とTime()の2つの配列 )に取り込む事は可能でしょうか? 1つの配列にファイル名及び更新日時の情報を配列に入れるのは難しそうなので2つ分けて取りこみたいのです。 ご存知の方がいれば、ご教授願いませんでしょうか? 何卒、宜しくお願い致します。

みんなの回答

回答No.3

FileSystemObjectを使えば似たようなことができます。 Dim objFSO Dim objFile Dim strText Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") For Each objFile In objFSO.GetFolder("D:\test").Files ' ファイル名 If strText <> "" Then strText = strText & vbCrLf & objFile.Name Else strText = objFile.Name End If ' 更新日時 strText = strText & ":" & objFile.DateLastModified Next WScript.Echo strText Set objFSO = Nothing [MSDN]FileSystemObject のプログラミング http://msdn.microsoft.com/ja-jp/library/cc392177.aspx

  • j-kachimi
  • ベストアンサー率35% (48/136)
回答No.2

先ほどの訂正 dblRET = Shell("c:\dtof.bat", vbNormalFocus)

  • j-kachimi
  • ベストアンサー率35% (48/136)
回答No.1

APIを使えば可能ですが今回は別な方法をご紹介します。 1.バッチファイルを作る。 仮にファイル名をc:\dtof.batとし、メモ帳などで中身は dir c:\*.* >c:\ddd.tmp とする。 これはc:\のディレクトリー情報をc:¥ddd.tmpに落とすバッチです。 2.このバッチファイルをVBで実行する Dim dblRET dblRET = Shell("c:\ddd.bat", vbNormalFocus) 3.c:¥ddd.tmpを読み込んで必要なデータを切り出す。 以上 APIの方はVB花ちゃんやVB中学校等で探せば見つかると思いますよ。

関連するQ&A