2017-05-26 117 views
0

我正在做一些Windows批處理文件「編程」以使用AWS CodeDeploy來註冊應用程序修訂。解析Windows批處理文件的輸出以用於下一批處理文件命令

這是我在我的批處理文件,到目前爲止有:

@echo off 
aws --region us-east-1 --endpoint-url https://codedeploy.us-east-1.amazonaws.com deploy push --application-name MyApp1 --s3-location s3://s3-codeDevel-MyApp1.zip --source .\ --description "Application Revision Pushed from Tst" 

當我運行命令:本身

aws --region us-east-1 --endpoint-url https://codedeploy.us-east-1.amazonaws.com deploy push --application-name MyApp1 --s3-location s3://s3-codeDevel-MyApp1 --source .\ --description "Application Revision Pushed from Tst" 

...,這樣的命令輸出上面顯示出來在命令提示符下:

To deploy with this revision, run: 
aws deploy create-deployment --application-name MyApp1 --s3-location bucket=s3-codeDevel-MyApp1,key=MyApp1.zip,bundleType=zip,eTag=f4f28724b951fdeeee61d57c24ceba99 --deployment-group-name <deployment-group-name> --deployment-config-name <deployment-config-name> --description <description> 

我想在解析和使用outp的批處理文件中運行另一個命令在「eTag」的值發生變化之後,在下一個命令中進行上述操作。

在一天結束的時候,這裏就是我想要的我的批處理文件看起來像:

@echo off 
aws --region us-east-1 --endpoint-url https://codedeploy.us-east-1.amazonaws.com deploy push --application-name MyApp1 --s3-location s3://s3-codeDevel-MyApp1.zip --source .\ --description "Application Revision Pushed from Tst" 
aws deploy create-deployment --application-name MyApp1 --s3-location bucket=s3-codeDevel-MyApp1,key=MyApp1.zip,bundleType=zip,eTag=<Parsed from previous command> --deployment-group-name DeploymentGroup --deployment-config-name DeploymentConfigName --description "My Description" 

我將如何去獲得這個工作?

回答

0

的幾個招數混合:
- 運行命令和捕捉輸出
最後一行 - 刪除所有直到eTag
- 從「休息」 取第一個字 - 與值執行命令

@echo off 
set "command=aws --region us-east-1 --endpoint-url https://codedeploy.us-east-1.amazonaws.com deploy push --application-name MyApp1 --s3-location s3://s3-codeDevel-MyApp1 --source .\ --description "Application Revision Pushed from Tst"" 
for /f "delims=" %%a in ('%command%') do set "line=%%a" 
set "line=%line:*eTag=%" 
for /f "delims== " %%a in ("%line%") do set "key=%%a" 
echo Debug: Key=%key% 
aws deploy create-deployment --application-name MyApp1 --s3-location bucket=s3-codeDevel-MyApp1,key=MyApp1.zip,bundleType=zip,eTag=%key% --deployment-group-name DeploymentGroup --deployment-config-name DeploymentConfigName --description "My Description"