オープンソースカンファレンス2013の、USP研究所のセッション(https://www.ospn.jp/osc2013-spring/modules/eguide/event.php?eid=55)に触発されまして。

An error occurred while retrieving the Tweet. It might have been deleted.
ということで、書いていきます。
※Windows7 64bitの、組み込みのコマンドだけを使用
まず、ただのリストを作成

1
2
3
for /L %n in (1,1,16) do @echo %n    

```実行結果

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

1
2
3
4
5
とりえず3と5で割ってみる。
```dosbatch
for /L %n in (1,1,16) do @set /a %n%3 && set/a %n%5 && echo  %n    

```実行結果

11 1 22 2 03 3 14 4 20 5 01 6 12 7 23 8 04 9 10 10 21 11 02 12 13 13 24 14 00 15 11 16

1
2
3
4
5
6
コマンドプロンプトは、_コマンド中に別のコマンドを書けない_ので、もう一工夫しないとFizzとBuzzを分けられません。<br/>
(1文字目を切り出して if して、2文字目を切り出して if して、、、みたいなのは非常に面倒)むー・・・っと考えて、3か5で割り切れる値だけを抽出。
```dosbatch
for /L %n in (1,1,16) do @set /a (10-%n%3)/10 &amp;&amp; set/a (10-%n%5)/10 &amp;&amp; echo  %n    

```実行結果

00 1 00 2 10 3 00 4 01 5 10 6 00 7 00 8 10 9 01 10 00 11 10 12 00 13 00 14 11 15 00 16

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<ul>
<li>10→Fizz</li>
<li>01→Buzz</li>
<li>11→FizzBuzz</li>
</ul>となっています。<br/>
仕上げ。
```dosbatch
for /f "usebackq tokens=1,2" %a in (`"for /L %n in (1,1,100) do @set /a (10-%n%3)/10 &amp;&amp; set/a (10-%n%5)/10 &amp;&amp; echo  %n &amp;&amp; echo."`) do @(if %a==11 (echo FizzBuzz) else if %a==10 (echo Fizz) else if %a==01 (echo Buzz) else (echo %b))

```実行結果

1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz Fizz 22 23 Fizz Buzz 26 Fizz 28 29 FizzBuzz 31 32

※以下略

```完成!
コマンドプロンプトだけで頑張った割には、かなりスッキリした形かと。
Gistにも上げておきました。