2

従来のaspfsoを使用してファイルを削除/移動しようとしていますが、次のエラーが発生します。

Microsoft VBScript runtime error '800a0046'

Permission denied

ファイルはにありc:\files\test\file.txt、最終的にはに移動したいc:\archive\file.txt

Moveから始めましたが、エラーが発生しました。次に、それをコピー削除に分割します。コピーは正常に行われましたが、削除でも同じエラーが発生します。

次のコードを使用して「archive」フォルダー内のファイルでDeleteを使用できたため、 Deleteメソッドを除外しました。

dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject")
set f=fs.GetFile("C:\archive\file.txt")
f.Delete
set f=nothing
set fs=nothing

また、両方のフォルダーのアクセス許可を再確認しました。IIS_IUSRSのアクセス許可はまったく同じです。[読み取りと実行]、[フォルダーの内容の一覧表示]、[読み取り]、[書き込み]がオンになっています。変更権限も与えてみましたが、違いはありませんでした。

最後に、ファイルの属性を確認したところ、32(アーカイブ)として返されました。また、強制的に削除しようとしました:

fso.DeleteFile FileName, true
4

1 に答える 1

3

IIS_USRSフォルダーのアクセス許可には、Windowsの[詳細設定]ダイアログから[削除]を具体的に含める必要がありました。

于 2012-02-08T18:26:13.897 に答える