首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析Windows批处理文件的输出以在下一个批处理文件命令中使用

解析Windows批处理文件的输出以在下一个批处理文件命令中使用
EN

Stack Overflow用户
提问于 2017-05-26 09:03:47
回答 1查看 140关注 0票数 0

我正在做一些Windows批处理文件“编程”,以使用亚马逊网络服务CodeDeploy注册应用程序版本。

以下是到目前为止我的批处理文件中的内容:

代码语言:javascript
复制
@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"

当我运行该命令时:

代码语言:javascript
复制
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"

..。就其本身而言,上述命令的输出将显示在命令提示符中:

代码语言:javascript
复制
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>

我想在批处理文件中运行另一个命令,该命令在下一个命令中解析并使用上面的输出,因为"eTag“的值发生了变化。

最后,我希望我的批处理文件是这样的:

代码语言:javascript
复制
@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"

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2017-05-26 17:51:14

几个技巧的混合:

  • 运行命令并捕获输出中的最后一行
  • remove all直到来自“
  • ”的第一个单词-使用该值

执行命令

代码语言:javascript
复制
@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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44192020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档