title: How to echo batch commands without executing?
body: <p>I'm trying to make a self-building chatbot that learn questions by inputing question and three possible answers, then, it randomize that three answers and give it as output. The learned question goes to the final line of the same batch file.</p>
  
  <p>Here's the sample:</p>
  
  <pre><code>@echo off&amp;&amp;setlocal enabledelayedexpansion
  echo/teach me a question to answer.
  set/p q=
  echo(&gt;&gt;%~f0
  echo/:%q: =%&gt;&gt;%~f0
  cls
  echo/teach me three ways to answer it.
  set/p a1=
  set/p a2=
  set/p a3=
  echo/set a[0]=%a1%&gt;&gt;%~f0
  echo/set a[1]=%a2%&gt;&gt;%~f0
  echo/set a[2]=%a3%&gt;&gt;%~f0
  echo/"set/a ax=%random% %%3&amp;&amp;set aa=!a[%ax%]!"&gt;&gt;%~f0
  echo/"echo %aa%"&gt;&gt;%~f0
  </code></pre>
  
  <p>But I get the following:</p>
  
  <pre><code>:howareyou?
  a[0]=good
  a[1]=fine
  a[2]=well
  "set/a ax=24793 %3&amp;&amp;set aa="
  "echo "
  </code></pre>
  
  <p>It's possible to get </p>
  
  <pre><code>set/a ax=%random% %%3&amp;&amp;set aa=!a[%ax%]!
  echo %aa%
  </code></pre>
  
  <p>exactly as it is?</p>