.GetFolder を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードは.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
Else
Response.Write strFNAME & vbTab
End If
'おまけで更新日の表示
Response.Write objFILE.DateLastModified & "<br>" & vbCRLF
Next
%>
<hr>
</body>
</html>
| 最近発売の雑誌を紹介する
科学や技術の雑誌です。
- 電気店 2008年 08月号
- 機械化農業 2008年 08月号
- 工業材料 2008年 08月号
- 電気と工事 2008年 08月号
- 固体物理 2008年 06月号
- 電設技術 2008年 07月号
- 型技術 2008年 08月号
- 電気評論 2008年 07月号
- 標準化と品質管理 2008年 08月号
|