任意のディレクトリ以下のファイルを得るvbs

任意のディレクトリ以下のファイルを一覧にしたく、VBS(Visual Basic Script)ファイルを作成した。これが手前味噌ながら結構便利で、仕事で頻繁に利用している。説明や使い方は抜きにして、ひとまず仕事場からメモ、、したものを帰宅してから投稿。


Set objFs = CreateObject("Scripting.FileSystemObject")
inpath=InputBox("", "FileList", "C:\")
outpath=InputBox("", "FileList", "C:\filelist.txt")
If inpath<>"" And outpath<>"" Then
Set objText = objFs.CreateTextFile(outpath)
cnt = count(inpath)
objText.Close
Msgbox("完了しました")
End If
Function count(directory)
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(directory)
For Each objFile In objFolder.Files
objText.Write(objFile.ParentFolder & _
vbTab & objFile.Name & vbTab & _
objFile.DateLastModified & vbCRLF)
NEXT
For Each objFC In objFolder.SubFolders
cnt = cnt & count(objFC)
NEXT
count = cnt
End Function
This entry was posted in 未分類. Bookmark the permalink.

4 Responses to 任意のディレクトリ以下のファイルを得るvbs

  1. けに~ says:

    おお、かっちょいいです!
    僕ならプロンプトで、
    tree /a /f > tree.txt
    とやりますが、
    やはりdos promptとかcmdとかは時代遅れなのでしょうか…。
    今の時代はやはり、wshとかvbsとかなの
    でしょうか…。wshはよく使いますが…。

  2. ohbatch says:

    vbsもwshも一緒ですぇ。
    古いwindowsだと、やっぱりdosコマンドが安心ですな。ちょっと凝ったことすると、GOTOだらけになって一気にソースが読めなくなるけど。。
    vbs/wshだと正規表現とかも使えるので、
    いろいろと拡張できて良いです。

  3. けに~ says:

    なるほど…、wshだとCOMを使えるので、
    IEとかLogParserをプログラム的に使えちゃうので便利ですよね。僕は、wshをJScriptにて使っています。

  4. ohbatch says:

    Vistaでは、随分スクリプト周りが
    強化されるようですよ。楽しみです。
    って、うちは技術系ブログではないんですけどね