Windows批量卷曲到变量
问题描述:
我对Windows批处理脚本的了解很差,我需要一些帮助。Windows批量卷曲到变量
我正在尝试创建一个动态脚本,用于从不同的EC2实例启动硒服务器。
我想要做的是自动启动服务器时运行以下脚本:
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
这是行不通的。
你能帮我吗? 谢谢。
答
试试这个:
for /F %I in ('curl http://ipecho.net/plain') do set ip=%I
echo %ip%
它几乎成功了!我不得不在两次事件中更改%I,%!I!如果您想直接在控制台或批处理脚本中执行它,差异似乎就在其中。谢谢! – XorX