
ただいま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に依存するものでしょうか?
御存知の方がおりましたら教えてください。
お願いします。
No.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
%>
----------
この回答への補足
サンプルソースをありがとうございました。
実行されない原因はパスが長すぎたことでした。
パスを短くしたところ、綺麗に削除されました。
どうもありがとうございました。
No.2
- 回答日時:
>実行時にエラーにもなりませんでした。
>調べてみると「Scripting.FileSystemObject」オブジェクトが作成されていないようなのです。
実行時にエラーにならないのであれば、オブジェクトは作られているということではないでしょうか。
作られなかったらそこでエラーになるはず(cannot create object)です。
単にこのロジックを通っていないだけのような気がします。
サーバサイドとクライアントサイドで混乱があるのではないでしょうか。
ご返答ありがとうございます。
>実行時にエラーにならないのであれば、オブジェクトは作られているということではないでしょうか。
>作られなかったらそこでエラーになるはず(cannot create object)です。
>単にこのロジックを通っていないだけのような気がします。
試しにオブジェクト作成後に以下のようなIf分を設けてみました。
chkFileを表示させるとABCDEと表示されますので、ロジックは通っているのだと思います。
Dim objFileDelete
Set objFileDelete = CreateObject("Scripting.FileSystemObject")
If (objFileDelete = Nothing) Then
chkFile = "ABCDE"
End IF
No.1
- 回答日時:
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 …
ご返答ありがとうございます。
オブジェクトを生成を「Server.CreateObject」としましたが、それでも上手く機能しません(エラー表示にもなりません)。
「Scripting.FileSystemObject」がWindowsのランタイムライブラリということは、特になにもインストールせずに使えるということでしょうか?
ASPを実行させているサーバーはWindwos2000です。
SymantecのAntiVirusなどをインストールしているので、もしかしたら何かにひっかかっているかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに張り付けた写真のフ...
-
vba 空のデータをSplitする時の...
-
VBAでPDFを作成する際、同じ名...
-
phpのファイルがブラウザで開か...
-
【VB.NET】Excelの最終行までの...
-
VB.NET Excelを読み込んでDataT...
-
aspxをhtmlに変換する方法について
-
vba マージエリアの行数を非表...
-
SJISで、全角文字Aの文字コード...
-
高校1年生情報の問題について。
-
onedrive にexcelファイルをア...
-
キヤノン アソビカメラ iNSPiC ...
-
バッチで当日日付で作成される...
-
SPO2測定
-
エクセルのマクロについて教え...
-
インドe-Visa 承認書のApplicat...
-
SPIの非言語の割合と比が難しく...
-
SPIの対策は参考書でやるべきか?
-
LEDで電光掲示板に「A B C D E...
-
One Driveへのアクセス
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Scripting.FileSystemObject...
-
objIE = CreateObject エラー
-
Global.asaxで Server.CreateOb...
-
ネットワーク上のPCのIPとホス...
-
C# try-catch でcatchに飛ばす方法
-
画面のリフレッシュを意図的に...
-
CreateObject("Excel.Applicati...
-
ASP内で他のASPファイルを読み...
-
エクセルVBA 宣言Dimの場所
-
winsock通信時エラーの回避
-
ソケット通信で同時受信の制限?
-
【C#】アップロード時に「アプ...
-
インクルードしたファイルの関...
-
FileCopy時のエラー
-
イベントID 2002について
-
[PL/SQL]REFCURSORが戻り値のプ...
-
fopenでエラーとなる
-
IIS7.5の設定の仕方
-
Response.Redirectで引数2つの...
-
ASP.netで使用するWEBサーバに...
おすすめ情報