簡體   English   中英

解析Windows批處理文件的輸出以在下一個批處理文件命令中使用

[英]Parsing output of a Windows batch file to use in next batch file command

我正在做一些Windows批處理文件“編程”,以使用AWS CodeDeploy注冊應用程序修訂版。

到目前為止,這是我的批處理文件中的內容:

@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>

我想在批處理文件中運行另一個命令,因為“ 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"

我將如何完成這項工作?

多種技巧的組合:
-運行命令並從輸出中捕獲最后一行
-刪除所有直到eTag
-從“ rest”中獲取第一個單詞-使用該值執行命令

@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"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM