vbscript - 使用 vbscript 创建包含原始变量的新 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.")
知道如何在消息中正确获取所需的用户名吗?
解决方案
让我们从最终所需的输出线开始
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"")"
推荐阅读
- node.js - 通过 Nodejs 上的 npm 请求模块发出 POST 请求时出现 CERT_HAS_EXPIRED 错误,但证书有效
- sql-server - 将 nvarchar(max) 从存储过程传递到 SSIS
- c# - 构建自定义 Blazor 组件时是否可以使组件参数成为必需?
- discord.js - 如何输入/找到正确的令牌或错误?
- spring - 引起:java.lang.IllegalArgumentException:应用程序上下文不能为空
- ios - 为什么我的应用程序无法安装在模拟器或设备 iOS xcode 上
- outlook - 将 Outlook 邮件内联附件与 HTML 正文中的元素相关联
- java - 我该如何解决这个 IntelliJ 问题?
- reactjs - create-react-app 上的 node-sass 问题
- vue.js - 使用 $emit 2 级或 1 级删除待办事项应用程序的项目?