VBScript 权限被拒绝
VBScript Permission Denied
我正在尝试使用 VBScript 在 SecureCRT 上做一些自动化。我现在的问题是,大约 30% 的时间我尝试 运行 我的脚本(有时在会议中进行演示......)我得到一个 "permission denied" 错误。
很多时候,快速的解决方法是将我的脚本复制并粘贴到一个新的 .txt 文件中。最终旧的又能用了,但它非常挑剔。今天,我的脚本成功了。 5 分钟后,我的权限被拒绝了。我创建了一个修订版,效果很好。 5 分钟后,一个出错了,原始版本不再给我错误。很难跟踪,我不确定是什么原因造成的。
编辑:
此行发生错误。
Set pso = CreateObject("Scripting.FileSystemObject")
Set Pile = pso.OpentextFile("Alarm_logs.txt",8, True)
它非常接近脚本的顶部。
有人有过类似经历吗?
问题是您没有指定完整路径,因此您尝试写入的文件的实际路径取决于您 运行 脚本的方式。
如果您双击 vbs,它将从您的用户没有写入权限的 %windir% 启动。
如果你打开cmd,cd到你可以写的文件夹,然后运行
wscript pathtoyourvbs\yourfile.vbs
然后您的文件将在当前文件夹中创建,没有权限被拒绝错误。
如果您想确定文件的创建位置,您必须提供绝对路径,而不是相对路径。
您可以为此使用环境变量,或者从获取 vbs 所在的文件夹开始,然后使用它来构建您的路径,并在 .vbs 旁边获取您创建的文件:
scriptdir = replace(WScript.ScriptFullName,WScript.ScriptName,"")
Set pso = CreateObject("Scripting.FileSystemObject")
Set Pile = pso.OpentextFile(scriptdir+"\Alarm_logs.txt",8, True)
我正在尝试使用 VBScript 在 SecureCRT 上做一些自动化。我现在的问题是,大约 30% 的时间我尝试 运行 我的脚本(有时在会议中进行演示......)我得到一个 "permission denied" 错误。
很多时候,快速的解决方法是将我的脚本复制并粘贴到一个新的 .txt 文件中。最终旧的又能用了,但它非常挑剔。今天,我的脚本成功了。 5 分钟后,我的权限被拒绝了。我创建了一个修订版,效果很好。 5 分钟后,一个出错了,原始版本不再给我错误。很难跟踪,我不确定是什么原因造成的。
编辑: 此行发生错误。
Set pso = CreateObject("Scripting.FileSystemObject")
Set Pile = pso.OpentextFile("Alarm_logs.txt",8, True)
它非常接近脚本的顶部。
有人有过类似经历吗?
问题是您没有指定完整路径,因此您尝试写入的文件的实际路径取决于您 运行 脚本的方式。
如果您双击 vbs,它将从您的用户没有写入权限的 %windir% 启动。
如果你打开cmd,cd到你可以写的文件夹,然后运行
wscript pathtoyourvbs\yourfile.vbs
然后您的文件将在当前文件夹中创建,没有权限被拒绝错误。
如果您想确定文件的创建位置,您必须提供绝对路径,而不是相对路径。
您可以为此使用环境变量,或者从获取 vbs 所在的文件夹开始,然后使用它来构建您的路径,并在 .vbs 旁边获取您创建的文件:
scriptdir = replace(WScript.ScriptFullName,WScript.ScriptName,"")
Set pso = CreateObject("Scripting.FileSystemObject")
Set Pile = pso.OpentextFile(scriptdir+"\Alarm_logs.txt",8, True)