我创建了从HTA调用的javascript代码。覆盖文件的代码部分在第一次执行时工作正常。但是当我尝试在同一个HTA线程上再次运行它时,它会抛出一个错误 "许可被拒绝"。它无法第二次覆盖同一个文件。这是因为代码使用文件作为对象并且没有释放它,如果是这样,有什么办法可以将对象设置为null或者什么?
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
if(objFSO.FileExists(MyPath)){
var objFile = objFSO.CreateTextFile(MyPath);
}
这是我正在执行的代码块..
谢谢, 阿南德
答案 0 :(得分:1)
试试这个HTA
<html>
<head>
<script language="javascript">
function CreateMyFile() {
try {
var fso,MyPath,s,my_time;
var my_time = new Date()
fso = new ActiveXObject("Scripting.FileSystemObject");
MyPath = "C:\\TestFile.txt";
s = fso.CreateTextFile(MyPath,2);
s.Close();
alert('The File ' + MyPath + ' is Created ' + my_time);
}
catch(err){
var strErr = 'Error:';
strErr += '\nNumber:' + err.number;
strErr += '\nDescription:' + err.description;
document.write(strErr);
}
}
</script>
</head>
<body>
<table>
<tr>
<td><input type="submit" onclick="CreateMyFile()" value="Create File Test"></td>
</tr>
</table>
</body>
</html>