Javascript 使用ActiveX DeleteFile时权限被拒绝
我有一个脚本,它工作得非常好,直到它试图删除它创建的临时文件,然后我收到一条权限被拒绝的错误消息 命令很简单:Javascript 使用ActiveX DeleteFile时权限被拒绝,javascript,windows,activex,wsh,Javascript,Windows,Activex,Wsh,我有一个脚本,它工作得非常好,直到它试图删除它创建的临时文件,然后我收到一条权限被拒绝的错误消息 命令很简单: fso.DeleteFile(tempWAVPath) 其中fso是ActiveXObject(“Scripting.FileSystemObject”)和tempWAVPath是:C:\Users\XXX\AppData\Local\Temp\RandomTempName\TemporaryFile 考虑到脚本同时创建了文件夹和文件,我不明白为什么会出现权限被拒绝的错误 脚本正在通
fso.DeleteFile(tempWAVPath)
其中fso
是ActiveXObject(“Scripting.FileSystemObject”)
和tempWAVPath
是:C:\Users\XXX\AppData\Local\Temp\RandomTempName\TemporaryFile
考虑到脚本同时创建了文件夹和文件,我不明白为什么会出现权限被拒绝的错误
脚本正在通过Admin CMD和cscript
有人知道为什么吗?啊!该文件是只读的。通过添加以下内容修复了此问题:
file = fso.GetFile(tempWAVPath)
if(file.attributes & 1) {
file.attributes = file.attributes - 1
}
处理只读文件的另一种方法是传递第二个布尔参数,如下所示:
fso.DeleteFile(tempWAVPath, true);
对于我来说,其他两个答案在某个特定文件上都不成功 然而,这确实起到了100%的作用:
file = fso.GetFile(FILE_PATH);
file.Delete(true);
在特定情况下,我的命令仍然失败。似乎有某种类型的文件锁-有没有办法检查/清除它?