【问题标题】:Having trouble with a vbscript creating a new vbscript containing a variable from the original使用 vbscript 创建包含原始变量的新 vbscript 时遇到问题
【发布时间】:2018-12-05 02:43:27
【问题描述】:

我正在尝试制作一个创建新 vbs 文件的 vbs,但我在创建第二个文件时遇到了一些问题。

在第一个脚本的前面,它会询问您想要的用户名,然后将其分配给名为 user 的变量。

当它创建第二个脚本时,我希望用户名显示在一条消息中,说欢迎回来 [在此处插入用户名]。请输入程序值。

问题是,我无法将您的用户名放在新脚本代码中。

尝试 1

If VTCreate1 = 6 And VTCreate2 = 7 And VTCreate3 = 7 And VTCreate4 = 7 And VTCreate5 = 7 Then
Set objFile = objFS.CreateTextFile("C:\Users\Public\Desktop\Aeshnidae_1627374757.vbs")
objFile.WriteLine("vtcmd=inputbox(""Welcome back "")" & user & "("". Please input a program value."")")

尝试 1 导致新创建的脚本包含以下内容

vtcmd=inputbox("Welcome back ")Human(". Please input a program value.")

尝试 2

If VTCreate1 = 6 And VTCreate2 = 7 And VTCreate3 = 7 And VTCreate4 = 7 And VTCreate5 = 7 Then
Set objFile = objFS.CreateTextFile("C:\Users\Public\Desktop\Aeshnidae_1627374757.vbs")
objFile.WriteLine("vtcmd=inputbox(""Welcome back & user & . Please input a program value."")")

尝试 2 的结果如下

vtcmd=inputbox("Welcome back & user & . Please input a program value.")

知道如何在消息中正确获取所需的用户名吗?

【问题讨论】:

    标签: vbscript


    【解决方案1】:

    让我们从最终想要的输出行开始

    vtcmd=inputbox("Welcome back xxxxxx. Please input a program value")
    

    要将它放在字符串变量中(我们稍后会写),我们需要引用该行并转义内部双引号

    "vtcmd=inputbox(""Welcome back xxxxxx. Please input a program value"")"    
    

    要替换占位符,我们需要剪切字符串

    "vtcmd=inputbox(""Welcome back "     ". Please input a program value"")"
                       close quote ^     ^ open quote
    

    并将变量与两个字符串连接起来

    "vtcmd=inputbox(""Welcome back " & user & ". Please input a program value"")"
    

    所以,最后的代码行将是

    objFile.WriteLine "vtcmd=inputbox(""Welcome back " & user & ". Please input a program value"")"
    

    【讨论】:

      猜你喜欢
      • 2023-02-10
      • 2010-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2020-09-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多