アプリ版:「スタンプのみでお礼する」機能のリリースについて

ただいまASPでWebシステムの開発をしております。
「Scripting.FileSystemObject」で質問をさせてください。

ASPの処理の中でファイルの削除をやりたかったので「Scripting.FileSystemObject」でファイル操作をしようと思いました。
記述は以下の通りです。


Dim objFileDelete
Set objFileDelete = CreateObject("Scripting.FileSystemObject")

objFileDelete.DeleteFile 消したいファイルのパス & ファイル名 ,True

Set objFileDelete = Nothing


実行後にファイルを確認しましたが、消されていませんでした。
実行時にエラーにもなりませんでした。
調べてみると「Scripting.FileSystemObject」オブジェクトが作成されていないようなのです。

疑問に思ったことですが、そもそも「Scripting.FileSystemObject」はなにに入っている(表現がおかしいかもしれません)ものなのでしょうか?
Windowsのシステムなのでしょうか?
それともIISに依存するものでしょうか?

御存知の方がおりましたら教えてください。
お願いします。

A 回答 (3件)

#1です。



XPですが、自分のところで試してみました。問題はなかったです。

パス指定はちゃんと通っていますか?
削除するファイルに対する権限の設定はちゃんとなされていますか?
ご確認くださいな。

以下、自分が試したサンプル。
----------
<%@ language="VBScript" %>
<%
Dim objFileDelete
Set objFileDelete = Server.CreateObject("Scripting.FileSystemObject")
if objFileDelete is nothing then
%>
<html>
<body>
<p>objFileDelete is Nothing!!</p>
</body>
</html>
<%
else
objFileDelete.DeleteFile Server.MapPath("./deltest.txt"),True
%>
<html>
<body>
<p>File Deleted</p>
</body>
</html>
<%
end if
Set objFileDelete = Nothing
%>
----------

この回答への補足

サンプルソースをありがとうございました。

実行されない原因はパスが長すぎたことでした。
パスを短くしたところ、綺麗に削除されました。

どうもありがとうございました。

補足日時:2006/11/15 15:06
    • good
    • 0

>実行時にエラーにもなりませんでした。


>調べてみると「Scripting.FileSystemObject」オブジェクトが作成されていないようなのです。
実行時にエラーにならないのであれば、オブジェクトは作られているということではないでしょうか。
作られなかったらそこでエラーになるはず(cannot create object)です。

単にこのロジックを通っていないだけのような気がします。
サーバサイドとクライアントサイドで混乱があるのではないでしょうか。
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

>実行時にエラーにならないのであれば、オブジェクトは作られているということではないでしょうか。
>作られなかったらそこでエラーになるはず(cannot create object)です。
>単にこのロジックを通っていないだけのような気がします。

試しにオブジェクト作成後に以下のようなIf分を設けてみました。
chkFileを表示させるとABCDEと表示されますので、ロジックは通っているのだと思います。


Dim objFileDelete
Set objFileDelete = CreateObject("Scripting.FileSystemObject")
If (objFileDelete = Nothing) Then
chkFile = "ABCDE"
End IF

お礼日時:2006/11/13 17:21

ASPの場合、オブジェクトを生成は、「Server.CreateObject」では?



「Scripting.FileSystemObject」はWindowsのランタイムライブラリです。
VBA、VBSなどでも使えますよ。

http://msdn.microsoft.com/library/ja/default.asp …

参考URL:http://msdn.microsoft.com/library/ja/default.asp …
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます。

オブジェクトを生成を「Server.CreateObject」としましたが、それでも上手く機能しません(エラー表示にもなりません)。

「Scripting.FileSystemObject」がWindowsのランタイムライブラリということは、特になにもインストールせずに使えるということでしょうか?
ASPを実行させているサーバーはWindwos2000です。
SymantecのAntiVirusなどをインストールしているので、もしかしたら何かにひっかかっているかもしれません。

お礼日時:2006/11/13 14:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!