使用ActiveX DeleteFile时权限被拒绝

时间:2013-05-30 15:56:55

标签: javascript windows activex wsh

我有一个非常有效的脚本,直到它尝试删除它创建的临时文件,然后我收到一条Permission Denied错误消息。

命令很简单:

fso.DeleteFile(tempWAVPath)

其中fsoActiveXObject("Scripting.FileSystemObject")tempWAVPath为:C:\Users\XXX\AppData\Local\Temp\RandomTempName\TemporaryFile

考虑到脚本同时创建了文件夹和文件,我很困惑为什么它会收到Permission denied错误。

该脚本通过Admin CMD和cscript

运行

任何人都知道为什么?

3 个答案:

答案 0 :(得分:1)

处理只读文件的另一种方法是传递第二个布尔参数,如下所示:

fso.DeleteFile(tempWAVPath, true);

答案 1 :(得分:1)

在特定档案中,我的其他答案都没有成功。

但这确实100%有效:

file = fso.GetFile(FILE_PATH);
file.Delete(true);

答案 2 :(得分:0)

啊!该文件是ReadOnly。通过添加以下内容来修复它:

file = fso.GetFile(tempWAVPath)
if(file.attributes & 1) {
    file.attributes = file.attributes - 1
}