加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

vbscript – 尝试在.VBS文件中“包含”.ASP文件

发布时间:2020-12-16 09:25:50 所属栏目:asp.Net 来源:网络整理
导读:我有一个.VBS文件,它通过我服务器上的计划任务运行.我在.ASP文件中有一些数据存在于我的网站上,我想将其引入该.VBS文件,这样我就不需要在两个地方复制相同的信息. 以下是ASP文件中的数据示例: %If MyVar = "1" Then Data1 = "this" Data2 = "that"Else Data
我有一个.VBS文件,它通过我服务器上的计划任务运行.我在.ASP文件中有一些数据存在于我的网站上,我想将其引入该.VBS文件,这样我就不需要在两个地方复制相同的信息.

以下是ASP文件中的数据示例:

<%
If MyVar = "1" Then
    Data1 = "this"
    Data2 = "that"
Else 
    Data1 = "hi"
    Data2 = "there"
End If
%>

这可能吗?我想我记得有关ExecuteGlobal的一些内容,但不能把它们全部放在一起 – 如果这实际上可以帮到这里.

解决方法

ExecuteGlobal ValidVBSCode是在W / CScript托管脚本中重用/导入/包含VBScript代码的简便方法. ASP代码的问题是“<%...%>”,因此您必须预处理.Readall()加载的代码.

当您提到“.ASP文件中的数据”时,另一种方法可能是.ReadAll()将文件作为文本并将信息解析为合适的(可能是复杂的)变量.

如果您需要更多帮助,请发布一个小的但有代表性的文件样本,以便“包含”.

演示脚本(针对给定样本):

Option Explicit

Dim sASP : sASP = Join(Array( _
     " <% If MyVar = ""1"" Then" _,"       Data1 = ""this""" _,"       Data2 = ""that""" _,"   Else" _,"       Data1 = ""hi""" _,"       Data2 = ""there""" _,"   End If %>" _
),vbCrLf)
WScript.Echo sASP

Dim sExpr : sExpr = Replace(Replace(sASP,"<%",""),"%>","")
WScript.Echo sExpr
Dim MyVar,Data1,Data2
For Each MyVar In Split("1 2")
    ExecuteGlobal sExpr
    WScript.Echo myVar,Data2
Next

输出:

cscript 22821687.vbs
 <% If MyVar = "1" Then
       Data1 = "this"
       Data2 = "that"
   Else
       Data1 = "hi"
       Data2 = "there"
   End If %>
  If MyVar = "1" Then
       Data1 = "this"
       Data2 = "that"
   Else
       Data1 = "hi"
       Data2 = "there"
   End If
1 this that
2 hi there

更新评论和@Dennis的演示代码:

我错误地认为(根据w / cscript拒绝它们)“<%..%>”会引起问题.正如Dennis的代码所示(并且我的’阅读’测试确认后),Execute(Global)处理得很好;替换是没有必要的. (所以我认为丹尼斯的答案值得赞扬.)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读