Возникли проблемы с созданием VBScript нового VBScript, содержащего переменную из оригинала - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь создать VBS-файл, который создает новый VBS-файл, но у меня возникли некоторые проблемы с созданием второго файла.

Ранее в первом сценарии запрашивалось желаемое имя пользователя, а именно:затем назначается переменной с именем user.

Когда он создает второй скрипт, я хочу, чтобы имя пользователя отображалось в сообщении с надписью Welcome back [введите имя пользователя здесь].Пожалуйста, введите значение программы.

проблема в том, что я не могу заставить его поместить ваше имя пользователя в новый код скриптов.

попытка 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 голосов
/ 05 декабря 2018

Давайте начнем с конечной требуемой строки вывода

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"")"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...