牛、豚、鶏、どれか一つ食べられなくなるとしたら?

Aにテストを代入した後結果を表示結果

(テスト1)となりloop後テストの後の数字を+1ずつ増やす処理がうまいことできません。使用上不可能でしょうか?


:loop
set A=テスト1
echo %A%
go to loop

メモ

set /a A後=%A%+1
set A=テスト%A後%

echo %テスト %あ%%
うまく代入の中に代入させるのは可能ですか?

質問者からの補足コメント

  • 回答ありがとうございます。



    echo %【A】%
    set /a テストカウント=%テストカウント%+1
    echo テスト%テストカウント%


    ●この様に【A】に「テスト%テストカウント%」を表示させたいんですが上手くいきません。

      補足日時:2020/04/07 21:26
  • http://oshiete.goo.ne.jp/qa/11566632.html
    少しわかりやすいかもしれません

      補足日時:2020/04/08 07:10

A 回答 (3件)

本来なら、以下のように文字列と数値は分けた方が良いかと思います。



―――――――――――――――――

@echo off

rem ■ 設定
set A=テスト
set カウント=1

rem ■ ループ開始
:loop

rem ■ 変数「A」、「カウント」を表示
echo %A%%カウント%

rem ■ 1秒待つ
timeout 1 > nul

rem ■ 変数「カウント」に「1」を足す
set /a カウント=%カウント%+1

rem ■ 戻る
goto loop

―――――――――――――――――

強引に質問文の例でするなら、以下のような感じにすると出来るかと思います。

―――――――――――――――――

@echo off

rem ■ 設定
set A=テスト1

rem ■ ループ開始
:loop

rem ■ 「A」を表示
echo %A%

rem ■ 1秒待つ
timeout 1 > nul

rem ■ 「A後」の代入
set /a A後=%A:テスト=%+1

rem ■ 「A」の代入
set A=テスト%A後%

rem ■ 戻る
goto loop

―――――――――――――――――

「:テスト=」は、変数「A」の値にある「テスト」という文字列を、「=」の後の文字列に置換する記述です。

今回は「=」の後に何も無いので、消す処理となります。これで数値だけにしています。

ざっと書いただけなので、何かミスがあったらすみません。
    • good
    • 0

前半は何ですかね?質問と関係ない?



> set /a A後=%A%+1
変数名がおかしいです。
set /a A後=%A後%+1
でしょうね。


↓これは何ですかね?何をしたい?
echo %テスト %あ%%
    • good
    • 0

> この様に【A】に「テスト%テストカウント%」を表示させたいんですが上手くいきません。



全然わかりません。「【A】に表示させる」って、どういう意味ですか??
変数を展開しないで、「テスト%テストカウント%」とそのまま変数名を表示させたいんですか??

・期待する出力結果
・実際の出力結果
をそのまま書いてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!