« つぶやいてみる | トップページ | 連休開始~ »

2009/09/16

フォルダ内の全ファイルをTEXTに出力

最近、必要に迫られ「あるフォルダの下にあるファイルを全てリスト化する」というツールを書いた。
思いのほか便利だったのでソースを貼っておくことにする。

ちなみに、これをベースに、ディスクの中身リストをAccessのデータベースに取り込むツールも作って、何十ギガバイトもたまってしまったmp3ファイルの管理をしようとしてるんだけど、wmaのタグを読むのが大変そうで頓挫中。

以下ソース。
コピーしてテキストファイルに保存して、拡張子を「.wsh」か「.vbs」に変えれば使用可能。
使い方は、取得したいフォルダをドラッグ&ドロップで渡すだけ。

'###################################################################
' ドラッグ&ドロップしたフォルダ以下のファイル名をフルパスで取得
' 出力ファイル名はOutPutFileNameで指定(デフォルトは年月日時分秒+FILES.txt)
' 出力先はスクリプトのあるパス
'###################################################################

Dim ObjWshArg
Dim strFolderName
Dim ObjWshShell
Dim ObjFS
Dim ObjFol
Dim ObjFiles
Dim ObjFolders
Public ObjTS
Dim OutPutFileName

OutPutFileName = Year(now) & Right("0" & Month(now),2) & Right("0" & Day(now),2) & Right("0" & Hour(now),2) & Right("0" & Minute(now),2) &  Right("0" & Second(now),2) & "FILE.TXT"

Set ObjWshArg = WScript.Arguments
strFolderName = ObjWshArg(0)

Set ObjFS = CreateObject("Scripting.FileSystemObject")
Set ObjTS = ObjFS.OpenTextFile(ObjFS.GetParentFolderName(WScript.ScriptFullName) & "/" & OutPutFileName ,2,1)

Set ObjFol = ObjFS.GetFolder(strFolderName)
Set ObjFiles = ObjFol.Files

sWriteFilename(ObjFol)

ObjTS.Close
Set ObjTS = Nothing
Set ObjFol = Nothing
Set ObjFS = Nothing
Set ObjWshArg = Nothing

msgbox "終了"

'###################################################################
' sWriteFilename
' 引数:folder ファイルを取得するフォルダオブジェクト
' 引数フォルダ下のファイル名をフルパスで書き出し(フォルダがある場合は再起)
'###################################################################

Sub sWriteFilename(folder)

Dim ObjFiles
Dim ObjFolders

Set ObjFiles = folder.files
Set ObjFolders = folder.SubFolders

For Each fFile in ObjFiles
  ObjTS.WriteLine fFile.Path
Next

For Each fFolder in ObjFolders
  sWriteFilename(fFolder)
Next

End Sub

|

« つぶやいてみる | トップページ | 連休開始~ »

プログラミング」カテゴリの記事

コメント

そうなんだよ。結局、いろんな楽曲管理ソフトを試したけど合うのが無くて、自分で作ることにしたのさ…

まあ、wmaはネトラジくらいしか無いから無視しても構わないんだけど。

投稿: 当麻令 | 2009/09/16 21:52

さすがSE。
すげ~。
そういや私のiPodだけど
ついに8000曲を越えましたヨw
でもまぁきちんと整理してたから
困ったことにはなってないヨ^-^

投稿: 凪 | 2009/09/16 18:16

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/24059/46227126

この記事へのトラックバック一覧です: フォルダ内の全ファイルをTEXTに出力:

« つぶやいてみる | トップページ | 連休開始~ »