前回のバッチでTera Termマクロをたたくお話しに続いてのお話しです。
マクロのたたき方がわかったところでどう使うのかが問題なわけです。
もう少し有益な書き方をします。
@echo off
setlocal enabledelayedexpansion
choice
set choice =
echo 処理を続けますか?
set /p choice="[Y][N]を入力してください[%choice%]:"
if /i !choice! == N goto end
if /i !choice! == Y goto start
goto choice
:end
echo 処理を終了します
exit
:start
set choicea=
echo どのログを取りますか?
set /p choicea="[1:自宅][2:カフェ][3:職場]を選択してください。[%choicea%]:"
if /i !choicea! == 1 goto jitaku
if /i !choicea! == 2 goto cafe
if /i !choicea! == 3 goto shokuba
goto start
:jitaku
set choicea="自宅"
goto kidou
:cafe
set choicea="カフェ"
goto kidou
:shokuba
set choicea="職場"
goto kidou
:kidou
set test_result=20180101_20181231/03
for %%i in (%~dp0../*.ttl) do (
start "" "C:\Program Files (x86)\teraterm\ttermpro.exe" %%i %%test_result% %choicea%
timeout 2 > nul
)
解説
echo どのログを取りますか?の選択のところで[1:自宅][2:カフェ][3:職場]のうちひとつを選択すると、choicea変数の中に自宅かカフェか職場という文字列がセットされます。
それと、今回はなにも選択することなくtest_resultに20180101_20181231\03という変数がセットされています。
これは20180101_20181231\03というディレクトリなので、変数とはいいつつもこのバッチを動かす時期には03というディレクトリを使うのでしょう。保存先とか。もちろん、上のようにchoiceしてもいいですし、別記事になりますが入力させてもいいと思います。
入力すると間違えた場合に間違えたまま全てのマクロが実行されてしまうので、最初から値がわかっている(決まっている)のであればこのような書き方もアリかなと思います。
test_resultというものがTera Termマクロがおそらくディレクトリとして使うのではないでしょうか。
これら2つの変数を一つ上の階層にあるTeraTermマクロに渡しながら、そのフォルダ内の.ttlファイルを開いていくという流れです。