我已经创建了从 HTA 调用的 javascript 代码。第一次执行时覆盖文件的代码部分工作正常。但是当我尝试在同一个 HTA 线程上再次运行它时,它会抛出错误 “没有权限”。第二次覆盖同一文件失败。这是因为代码使用该文件作为对象并且没有释放它,如果是这样,有什么方法可以将对象设置为 null 或其他什么?
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
if(objFSO.FileExists(MyPath)){
var objFile = objFSO.CreateTextFile(MyPath);
}
这是我正在执行的代码块..
谢谢, 阿南德
最佳答案
试试这个 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>
关于尝试覆盖文件时 JavaScript 抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25152276/