■ はじめに
小ネタ。 Windowsバッチで出力結果を変数に格納する方法についてメモ。 Bashだと「RESULT=`wc -l hello.txt`」みたいに簡単にできるが、、、
目次
【1】Windowsバッチで出力結果を変数に格納するには 【2】FORコマンド 1)オプション 2)トークンオプション 【3】基本構文 【4】サンプル 1)hostname 2)AWS CLIの結果を変数に格納
【1】Windowsバッチで出力結果を変数に格納するには
* 繰り返しのFOR コマンドを利用する
【2】FORコマンド
* 繰り返し処理
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/for
1)オプション
Options | Explanation |
---|---|
/f | テキストファイル内の文章に対してトークンを取り出して代入する |
2)トークンオプション
Options | Explanation |
---|---|
delims=[xxx] | 区切り記号セットを指定 |
【3】基本構文
FOR /F %%i in (【コマンド】) DO @SET 【変数】=%%i
【3】サンプル
1)hostname
@echo off FOR /F %%i in ('hostname') DO @SET result=%%i echo %result%
2)AWS CLIの結果を変数に格納
AWS Systems Manager ~ AWS CLI ~
https://dk521123.hatenablog.com/entry/2024/05/01/000000
et MWAA_HOST=xxxxx set MWAA_NAME=xxxxxx for /f "delims=" %%A in ('aws mwaa create-web-login-token --name %MWAA_NAME% --query WebToken --output text') do set WEB_TOKEN=%%A set MWAA_UI_URL="https://%MWAA_HOST%:18081/aws_mwaa/aws-console-sso?login=true#%WEB_TOKEN%"
参考文献
https://blog.treedown.net/entry/2020/04/02/010000
https://maku77.github.io/windows/io/set-command-result.html
https://www.javadrive.jp/command/bat/index10.html
forコマンド
https://so-zou.jp/software/tool/system/command-prompt/command/for.htm
関連記事
バッチ ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2010/07/06/223905
AWS Systems Manager ~ AWS CLI ~
https://dk521123.hatenablog.com/entry/2024/05/01/000000