每当用户点击要删除的链接时,我都会尝试删除图片文件。我没有错误,错误号为零。但是,该文件不会被删除。我可以保存照片文件,但不能因某些原因删除它们。这是我的代码:
PhotoFile = "\images\networkPartners\" & rs(fieldName)
PhotoPath = Server.MapPath(PhotoFile)
dim ServerFSO
Set ServerFSO=Server.CreateObject("Scripting.FileSystemObject")
if ServerFSO.FileExists(PhotoPath) then
response.Write(PhotoPath)
ServerFSO.DeleteFile(PhotoPath)
end if
set ServerFSO=nothing
当response.write命中时,我确实得到了实际的文件路径。 (“C:/ web / images”等)一直到文件名。所有大写都是正确的等等。再次,当我执行“on next resume next”并写出错误号和字符串时,根本没有错误。
通话:
ServerFSO.DeleteFile(PhotoPath, true)
导致错误:
Microsoft VBScript compilation error '800a0414'
Cannot use parentheses when calling a Sub
/folder/file_edit.asp, line 32
ServerFSO.DeleteFile(PhotoPath, true)
-------------------------------------^
答案 0 :(得分:5)
检查您的文件是否标有readonly属性。如果是,那么使用
FileSystemObject.DeleteFile filename, true
这将强制删除只读文件。
答案 1 :(得分:1)
我对此示例代码的测试显示括号在此示例中有效。
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set fo=fs.GetFolder("c:\")
Set tfile=fo.CreateTextFile("test.txt",true)
tfile.WriteLine("Hello World!")
tfile.Close
if fs.FileExists("c:\test.txt") then
fs.DeleteFile("c:\test.txt")
end if
set tfile=nothing
set fo=nothing
set fs=nothing
%>
但是,添加force参数时会失败:
<%
Set fs=Server.CreateObject("Scripting.FileSystemObject")
Set fo=fs.GetFolder("c:\")
Set tfile=fo.CreateTextFile("test.txt",true)
tfile.WriteLine("Hello World!")
tfile.Close
if fs.FileExists("c:\test.txt") then
fs.DeleteFile("c:\test.txt",True)
end if
set tfile=nothing
set fo=nothing
set fs=nothing
%>
答案 2 :(得分:-1)
它应该没有括号
DeleteFile "c:\test.txt",True
但是有些文件夹受到保护,您必须以管理员身份运行。我不知道如何使用脚本,因为它没有在上下文菜单中选择“运行为”。