Как отправить команду в cmd? - PullRequest
0 голосов
/ 03 апреля 2019

Я хотел бы написать при выполнении файла bat.

Я должен ввести имя пользователя и пароль после выполнения команды.При выполнении команды у меня есть следующий вывод:

You have been directed successfully.

Usernae =

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

You have been directed successfully.

Usernae = user

password =

Как мне создать пакетный сценарий для записиэтот пользователь и пароль без запроса ввода?

1 Ответ

1 голос
/ 03 апреля 2019

Вы можете использовать SendKey в VBS для отправки этого ввода.


Просто замените значения заполнителя в следующем коде фактическими значениями:

set "_user_=user-x" & set "_pwd_=password-y"

set "_exec_=drive:\path\to\your\executable.exe"
@echo off & setlocal enabledelayedexpansion & cls

mode con cols=70 lines=20 & color 9F

set "_user_=user-x" & set "_pwd_=password-y" 

set "_exec_=drive:\path\to\your\executable.exe"

>"%temp%\_temp_file_4vbs_.vbs"^
    (
     echo/ Set WshShell = WScript.CreateObject^("WScript.Shell"^)
     echo/ Set objShell = WScript.CreateObject^("WScript.Shell"^)
     echo/ StrUser  = "!_user_!"
     echo/ StrPwd  = "!_pwd_!"
     echo/ Wscript.Sleep 1000
     echo/     Wscript.Sleep 1000
     echo/ for h=1 To Len^(StrUser^)
     echo/     x = Mid^(StrUser,h,1^)
     echo/     WshShell.SendKeys x
     echo/     Wscript.Sleep 200
     echo/ Next
     echo/     Wscript.Sleep 200
     echo/ WshShell.SendKeys "({ENTER})"
     echo/ Wscript.Sleep 200
     echo/ for j=1 To Len^(StrPwd^)
     echo/     x = Mid^(StrPwd,j,1^)
     echo/     WshShell.SendKeys x
     echo/     Wscript.Sleep 200
     echo/ Next 
     echo/ Wscript.Sleep 200
     echo/ WshShell.SendKeys "({ENTER})"
     echo/ Wscript.Sleep 200
     echo/ WshShell.SendKeys "({ENTER})"
    ) 

set "_temp_vbs=%temp%\_temp_file_4vbs_.vbs" & cls && start "" /b "!_exec_!"

@"%Windir%\System32\cScript.exe" //nologo "!_temp_vbs!" & del /q /f "!_temp_vbs!" & goto :eof
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...