2016-02-26 59 views
2

我對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 

這是行不通的。

你能幫我嗎? 謝謝。

回答

3

試試這個:

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

它幾乎成功了!我不得不在兩次事件中更改%I,%!I!如果您想直接在控制檯或批處理腳本中執行它,差異似乎就在其中。謝謝! – XorX