我正在尝试使用VBScript在SecureCRT上进行一些自动化。我现在的问题是,大约30%的时间我尝试运行脚本(有时在会议上演示...),但出现“权限被拒绝”错误。
很多时候,快速的解决方案是将脚本复制并粘贴到新的.txt文件中。最终,旧的又可以使用了,但是它是如此的挑剔。今天,我的脚本起作用了。 5分钟后,我被拒绝了。我创建了一个修订版本,该修订版本有效。 5分钟后,出现一个错误,并且原始版本停止提供错误信息。很难跟踪,我不确定是什么原因造成的。
编辑: 此行发生错误。
Set pso = CreateObject("Scripting.FileSystemObject")
Set Pile = pso.OpentextFile("Alarm_logs.txt",8, True)
非常接近脚本的顶部。
任何人都有类似的经历吗?
答案 0 :(得分:3)
问题在于您没有指定完整路径,因此您要编写的文件的实际路径取决于运行脚本的方式。
如果双击vb,它将从%windir%启动,您的用户没有写权限。
如果打开cmd,则将cd转到可以编写和运行的文件夹
<script>
const electron = require('electron');
const {ipcRenderer} = electron;
ipcRenderer.on('synchronous-message',(event,arg)=>{
console.log(arg);
})
</script>
然后您的文件将在当前文件夹中创建,没有权限被拒绝的错误。
如果要确定文件的创建位置,则必须提供一个绝对路径,而不是相对路径。
您可以为此使用环境变量,或者首先获取vbs所在的文件夹,然后使用它来构建路径并在.vbs旁边获取创建的文件:
wscript pathtoyourvbs\yourfile.vbs