배치 파일을 사용하여 웹사이트에 호스트 이름 입력

배치 파일을 사용하여 웹사이트에 호스트 이름 입력

그래서 원격 소프트웨어 설치를 자동화하려고 합니다. 우리는 그것을 설치할 약 1000대의 PC를 가지고 있으며 모든 것을 직접 입력할 필요가 없다면 좋을 것입니다.

현재 실행하고 로그인했지만 PC의 호스트 이름을 확인한 다음 Edge에 입력해야 합니다. 나는 스크립팅에 매우 익숙하지 않으므로 명심하십시오. 또한 이를 수행하는 더 좋은 방법이 있다면 어떤 조언도 환영합니다.

여기 내가 지금까지 가지고 있는 것이 있다. 도움을 주셔서 미리 감사드립니다.

@if (@CodeSection == @Batch) @then

@echo off

set SendKeys=CScript //nologo //E:JScript "%~F0"

start microsoft-edge: 

timeout /t 1

%SendKeys% "{enter}"

Timeout /t 1    
                        
Used to type in my info. Then will send me Duo Prompt.      

                                            
%SendKeys% "{}"
%SendKeys% "{}"             
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{TAB}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{}"
%SendKeys% "{ENTER}"

timeout /t 10

start microsoft-edge:

timeout /t 2

%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"

%SendKeys% "{DOWN}"
%SendKeys% "{DOWN}"
%SendKeys% "{DOWN}"
%SendKeys% "{DOWN}"
%SendKeys% "{DOWN}"
%SendKeys% "{DOWN}"

%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"
%SendKeys% "{TAB}"


pause

@end

// JScript section

var WshShell = WScript.CreateObject("WScript.Shell");

WshShell.SendKeys(WScript.Arguments(0));

답변1

<!-- :
@echo off
"%windir%\system32\wScript.exe" "%~dpnx0?.wsf" "hOsTnAmE" & goto :EOF
:: --> 
<job><script language = "vbscript">
Set WshShell = CreateObject("WScript.Shell")
WshShell.run """msedge.exe"" ""google.com""", 9
WScript.Sleep 700
For i=1 To 9
    If i>8 Then
           WshShell.SendKeys "{TAB}"
        Else
           WshShell.SendKeys (WScript.Arguments(0))+"{ENTER}"
        End If
    Wscript.Sleep 700
Next
For i=1 To 19
    If i<9 Then
           WshShell.SendKeys "{TAB}"
        ElseIf i<15 then
           WshShell.SendKeys "{DOWN}"
        Else 
           WshShell.SendKeys "{TAB}"
    End If
    Wscript.Sleep 700
Next
</script></job>

{TABs}귀하의 질문으로는 이 모든 , {downs}, 의 의미가 명확하지 않습니다 . 하지만 귀하가 / {ETCs}를 이해하지 못하는 것 같습니다.sendkeys한 번에 한 문자인지, 체인/문자열인지에 관계없이 하나 이상의 키를 보낼 수 있습니다.

질문을 편집하고 키로 무엇을 보내고 싶은지, 인수나 환경 변수( set또는 setx)를 사용하여 호스트 이름이 가는 위치를 명확히 하십시오.

관찰:이 코드는 하이브리드 배트를 사용하는 방법에 대한 아이디어를 제공합니다.대신에

답변2

호스트 이름을 얻는 부분은 쉽습니다.

for /f "delims=" %%a in ('hostname') do set HostName=%%a

다음으로 호스트 이름을 사용하여 Microsoft Edge를 시작합니다.

msedge.exe "%HostName%" 시작

모든 클라이언트 시스템이 Windows 10을 실행하는 경우 VBS 스크립트 대신 컬을 사용하여 로컬 또는 원격 사이트에 입력을 보내는 것을 고려할 수 있습니다.

답변3

과거에도 비슷한 일을 했지만,AHK대신에. 사실 제가 얼마전에 영상을 만든적이 있었는데..여기그것은.

관련 정보