使用批次檔將主機名稱輸入網站

使用批次檔將主機名稱輸入網站

所以我正在嘗試自動安裝我們的遠端軟體。我們有大約 1000 台 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可以發送 1 個或多個密鑰,無論它是一次一個字元還是一個鏈/字串...

請編輯您的問題並明確您想要透過金鑰傳送的內容以及主機名稱的位置(如果透過參數或透過環境變數(setsetx))。

觀察:程式碼將讓您了解如何使用混合蝙蝠代替

答案2

取得主機名稱的部分很簡單:

for /f "delims=" %%a in ('hostname') 執行設定 HostName=%%a

接下來,您將使用主機名稱啟動 Microsoft Edge:

啟動 msedge.exe“%HostName%”

如果所有用戶端電腦都執行 Windows 10,也許您可以考慮使用curl 而不是 VBS 腳本將輸入傳送至本機或遠端網站...

答案3

我過去做過類似的事情,但使用亞洲香港協會反而。事實上,我不久前製作了一個關於它的影片...這裡這是。

相關內容