使用批处理文件在网站中输入主机名

使用批处理文件在网站中输入主机名

因此,我尝试自动安装我们的远程软件。我们有大约 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/可以发送 1 个或多个键,无论它一次是一个字符还是一个链/字符串......

请编辑您的问题,并明确您想要通过密钥发送什么以及您的主机名去往何处(通过参数还是通过环境变量(setsetx))。

观察:该代码将为您提供使用混合球棒的想法代替

答案2

获取主机名的部分很简单:

对于/f“delims =”%% a在('hostname')中设置HostName = %% a

接下来,您将使用主机名启动 Microsoft Edge:

启动 msedge.exe "%HostName%"

如果所有客户端计算机都运行 Windows 10,也许您可​​以考虑使用 curl 而不是 VBS 脚本将输入发送到本地或远程站点......

答案3

我以前做过类似的事情,但是使用德国工商会相反。事实上,不久前我制作了一个关于它的视频……这里这是。

相关内容