[三流君] −−> [ASPで遊ぶ、失敗する] −−> [バックナンバー一覧]
−−> No.069 FileSystemObjectの.GetTempName(一時ファイル名作成)

FileSystemObjectの.GetTempName(一時ファイル名作成)


本文(発行内容)


<FileSystemObjectの.GetTempName(一時ファイル名作成)>

こんにちは、三流プログラマーのKen3です。 今回は、 FileSystemObjectの.GetTempName を使用して、テンポラリファイルを作成してみます。

/* * 1.今回のキッカケ */

一時的な作業ファイルを作成する時、どうするのだろう? と探っていたら、 FileSystemObjectの.GetTempName を見つけたので、サンプルを作ってみます。

/* * 2.FileSystemObjectの.GetTempName */

使い方は、簡単で、 '*1 FileSystemObjectを生成します、、って英文、そのままジャン。 Set objFS = Server.CreateObject("Scripting.FileSystemObject") と、 ファイルシステムのオブジェクトを作成してから、 '*2 .GetTempNameを使用して、一時ファイル名を作成する strTEMPNAME = objFS.GetTempName '.GetTempNameを使用してリターン値をもらう たんに、 objFS.GetTempName とやるだけで、一時ファイルのファイル名を取得できます。 私が勘違いしてたんだけど、 .GetTempName って、ファイル名を返してくれるだけで、実際のファイルは作成されません(笑) なので、自分で、.CreateTextFileなどで作成します。 ※同時に作られるかと思っていたけど、  ディレクトリがあるよねよく考えたら。  システムのデフォルトに捨てファイルを作ってくれるかと大きく勘違い。  あっ、あと、一時ファイルなんだけど、自動的にファイルは消えないので、  自分で消さないと、ゴミが貯まるよ(笑)  *平和な私は、一時エリアにファイルを勝手に作り、 ASP終了後、勝手に消えると思ってた(予想したけど)   実際は、ファイル名だけ作ってくれるので、そこから先はご自分で(爆) http://www.ken3.org/cgi-bin/test/test069-1.asp で、テスト可能です。 下記が使用サンプルです、 .GetTempNameでファイル名取得後、テキストファイル作成、中身に時刻を書く。 ファイル閉じた後、ディレクトリの一覧を確認で表示してます。 実行結果とあわせて、ソースを確認してください。 <%@LANGUAGE=VBScript%> <html> <head> <title>FileSystemObjectの.GetTempName(一時ファイル名を作成する)</title> </head> <body> <h2>一時ファイル名を作成する<br>FileSystemObjectの.GetTempName</h2> <b>FileSystemObjectの.GetTempName</b>を使用して、一時ファイル名を取得してみます<br> <br> .GetTempNameを使用すると、一時ファイルの名称を作成してくれます。<br> あとは、その名称を使用して、ファイルを作成します<br> (自動的にファイルは作られないので注意してください)<br> ※下記の実行結果とソースを見てください。<br> <hr> <% '*1 FileSystemObjectを生成します、、って英文、そのままジャン。 Set objFS = Server.CreateObject("Scripting.FileSystemObject") '*2 .GetTempNameを使用して、一時ファイル名を作成する strTEMPNAME = objFS.GetTempName '.GetTempNameを使用してリターン値をもらう Response.Write ".GetTempNameで作成した名称[<b>" & strTEMPNAME & "</b>]<br>" '現在のフォルダーから相対位置のworkディレクトリの名称を取り出す strFDIRNAME = Server.MapPath("work/") 'フォルダー名取得 'work/xxxxのファイルを作成して、テストデータを書き込む Response.Write strFDIRNAME & "\" & strTEMPNAME & "を作成<br><br>" Set objTEXTFILE = objFS.CreateTextFile(strFDIRNAME & "\" & strTEMPNAME) objTEXTFILE.WriteLine "現在時刻は" & Now() objTEXTFILE.WriteLine "テンポラリファイルのテストでした(笑)" objTEXTFILE.Close Set objTEXTFILE = Nothing '確認でファイルリストの表示.GetFolderで取得後、一覧表示 Response.Write strFDIRNAME & "のファイル一覧です<br>" & vbCRLF Set objDIR = objFS.GetFolder(strFDIRNAME) '.Filesコレクションにアクセスする For Each objFILE In objDIR.Files strFNAME = objFILE.Name '取り出したobjFILEの.Nameを取得 If strFNAME = strTEMPNAME Then Response.Write "<b>" Response.Write "<a href='work/" & strFNAME & "'>" Response.Write strFNAME & "</a>" & vbTab 'おまけで更新日の表示 Response.Write objFILE.DateLastModified & "<br>" & vbCRLF If strFNAME = strTEMPNAME Then Response.Write "</b>" Next %> <hr> </body> </html> -【けんぞう!】--------------------------------------------------------- 転職関係、在宅プログラマー、SOHOの広告まとめました http://www.ken3.org/etc/500yen/zaitaku.html いろいろとあるので転機の人はぜひ 『だだ、広告料稼ぎたいだけだろ、紹介料300円〜1500円の小金稼ぎ』 ギクっ、、、バレた(笑)登録料無料、匿名で探せるので在宅で小金稼ぎの人も見てね ------------------------------------------------------------------------ 

/* * 3.終わりの挨拶 </HTML> */

今回は、 一時ファイルの作成のサンプルでした。 ※一時ファイルを使うような大きなシステムを作らないとなぁ。。。 何かの参考となれば幸いです。 素朴な疑問やリクエスト、クレームなどがあったら、 掲示板 : http://www.ken3.org/cgi-bin/bbs/asp/wforum.cgi に気軽に書き込んでください。 ASP、VBScript勉強中の三流プログラマーのKen3でした。

フィードバック

ASP系の→[掲示板]←を覗く、質問を書き込む

評価・感想

No.069を読んだ満足度(評価)は?
5満足(参考になった)
4まぁまぁ(一部参考になった)
3普通(どちらとも言えない)
2なんかなぁ(期待と違った)
1不満(読んで損した気分)
作者に感想・質問を送る場合は下記に気軽に書いてください
あなたのお名前(ニックネーム) さん

作者からの返信は、 不用 E-mail で受信したい
*質問・感想はメルマガで紹介する場合があります

三流君の主なリンク先

[アクセスランキング] [サイトマップ] [リンク先・相互リンク先など]
ASPで遊ぶ、失敗する 掲示板 バックナンバー 登録と解除
三流プログラマー 業務の愚痴 掲示板 バックナンバー 登録と解除
VBAで楽しくプログラミング 掲示板 バックナンバー 登録と解除
コンビニのオモテとウラ話 掲示板 バックナンバー 登録と解除
www.ken3.org(サイト内)から Google を利用して、

Ken3の日記(weblog) -- [広告・副収入系] [プログラマー業務の愚痴] [VBA系の話題] [ASP系の話題] [コンビニ系ネタ] [その他]

その他 宣伝広告