vbscript出现问题,无法创建一个包含原始变量的新vbscript

时间:2018-12-05 02:43:27

标签: vbscript

我正在尝试制作一个可以创建新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.")

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

1 个答案:

答案 0 :(得分:2)

让我们从所需的最终输出行开始

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"")"