【问题标题】:Windows batch curl to variableWindows批量卷曲到变量
【发布时间】:2016-06-09 13:46:14
【问题描述】:

我对 Windows 中的批处理脚本的了解很差,我需要一些帮助。

我正在尝试创建一个动态脚本,用于从不同的 EC2 实例启动 selenium 服务器。

我要做的是在启动服务器时自动运行以下脚本:

cd C:\curl-7.47.1-win64-mingw\bin
%comspec% /c curl http://ipecho.net/plain > %HOMEPATH%\desktop\MyIP.txt
set /P IP= <  %HOMEPATH%\desktop\MyIP.txt
cd C:\Selenium\
java -jar selenium-server-standalone-2.52.0.jar -role node -host %IP% -hub http://*******************/grid/register --nodeTimeout 
1200 maxSession 4 -browser browserName=chrome,maxInstances=4,platform=WINDOWS, -Dwebdriver.chrome.driver=chromedriver.exe -
browser browserName=firefox,maxInstances=4,platform=WINDOWS

当我通过 RDP 登录服务器时,它可以工作。但是当它由 EC2 自动启动时,%IP% 变量为空。我不知道发生了什么。也许我需要登录?

现在我正在尝试另一个选项,我决定不使用“MyIP.txt”文件,而是直接将 curl 传递给变量并在 selenium 命令中使用它。但是我不知道具体怎么做...

有点像……

cd C:\curl-7.47.1-win64-mingw\bin
SET IP=curl http://ipecho.net/plain
cd C:\Selenium\
java -jar selenium-server-standalone-2.52.0.jar -role node -host %IP% -hub http://********************/grid/register --nodeTimeout 
1200 maxSession 4 -browser browserName=chrome,maxInstances=4,platform=WINDOWS, -Dwebdriver.chrome.driver=chromedriver.exe -
browser browserName=firefox,maxInstances=4,platform=WINDOWS

这个不行。

你能帮帮我吗? 谢谢。

【问题讨论】:

    标签: windows batch-file selenium curl system


    【解决方案1】:

    如果直接在控制台中使用试试这个:

    for /F %I in ('curl http://ipecho.net/plain') do set ip=%I
    echo %ip%
    

    或者你可以试试这个,如果你写一个批处理脚本(.bat):

    for /F %%I in ('curl http://ipecho.net/plain') do set ip=%%I
        echo %ip%
    

    【讨论】:

    • 几乎成功了!我必须在两次出现中都将 %I 更改为 %%I 并且它起作用了!如果您想直接在控制台或批处理脚本中执行它,区别似乎在于。谢谢!
    猜你喜欢
    • 2014-10-02
    • 2022-07-06
    • 1970-01-01
    • 2011-07-07
    • 1970-01-01
    • 2022-01-14
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    相关资源
    最近更新 更多