元の三流解説は、
三流君ASP:FileSystemObjectの.GetFolderを使用
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・
ソースコード
<%@LANGUAGE=VBScript%> <html> <head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis"> <title>ディレクトリ内のファイル一覧を表示する FileSystemObjectの.GetFolder</title> </head> <body> <h2>ディレクトリ内のファイル一覧を表示する<br>FileSystemObjectの.GetFolder</h2> <b>FileSystemObjectの.GetFolder</b>を使用して、ファイルの一覧を取得してみます<br> まずは、今のフォルダーが知りたいので(自分のHD上の位置)<br> Server.MapPath(".")とドットを指定すると<br> [<%=Server.MapPath(".")%>]とフォルダー名が取得できます (IIS5.0はOK 6から..で親参照は厳しくなった?)<br> <br> 次は、.GetFolderを使用して、フォルダーオブジェクトを取得します<br> For Each OBJ In .Files でファイルのコレクションにアクセスします。<br> ※下記の実行結果とソースを見てください。<br> <br>読者から いただいたご指摘、<br> -- 2007/09/11 12:03:34 --<br> GetExtensionNameで拡張子を取得したほうが汎用性があがるよ。<br> またSet objDIR = Nothing<br> で明示的にメモリ解放するのがルール。 解放しないならセッションに入れて毎回オブジェクトが 存在するか確認するとよいですね。<br> --<br> <hr> <% '*1 FileSystemObjectを生成します、、って英文、そのままジャン。 Set objFS = Server.CreateObject("Scripting.FileSystemObject") '*2 フォルダーの名称を取り出す strFDIRNAME = Server.MapPath(".") 'フォルダー名取得 Response.Write strFDIRNAME & "のファイル一覧です<br>" & vbCRLF '*3 .GetFolderで、フォルダーオブジェクトを取得します Set objDIR = objFS.GetFolder(strFDIRNAME) '*4 .Filesコレクションにアクセスする For Each objFILE In objDIR.Files strFNAME = objFILE.Name '取り出したobjFILEの.Nameを取得 If Right(strFNAME, 4) = ".asp" Then '.ASPならリンクを作る Response.Write "<a href='" & strFNAME & "'>" Response.Write strFNAME & "</a>" & vbTab 'おまけで更新日の表示 Response.Write objFILE.DateLastModified & "<br>" & vbCRLF End If If Right(strFNAME, 5) = ".html" Then '.htmlならそのまま表示 Response.Write strFNAME & vbTab 'おまけで更新日の表示 Response.Write objFILE.DateLastModified & "<br>" & vbCRLF End If Next %> <hr> </body> </html>
↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test067-1.asp← 実行する
↑コードの三流解説は、
三流君ASP:FileSystemObjectの.GetFolderを使用
を見て、笑ってやってください。
ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・