2017-05-26 58 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"