🦛

コマンドプロンプトのカンマ(,)について

2022/09/19に公開

先日以下の記事を読みました。

https://forest.watch.impress.co.jp/docs/serial/offitech/1438927.html

BATファイルでは「,」は半角スペースと同じように区切り文字と解釈されるため、今回の例では「md 1月」「md 2月」「md 3月」…、と順番にmdコマンドを実行するBATファイルが作成されるわけです。

知らなかったです。
確かに試してみると,でも問題なく記事の通りフォルダができました。

FreeDOSではどうなのか

FreeDOSでもおなじく、,でも問題なく
フォルダの作成ができました。
ソースを少し追ってみたら以下のドキュメントが見つかりました。

https://github.com/FDOS/freecom/blob/master/docs/cmt3.txt#L73

どうもコマンド以降の最初の,,=,;をスキップしているようですね。

c:\>echo,,a
,a

c:\>echo==a
=a

c:\>echo;;a
;a

MISDOSではどうだったのかわかるかな

以下のコードにもFreeDOSのような記載がコードにあるかどうかを探してみました。

https://github.com/microsoft/MS-DOS

が、見つかりませんでした。

このあたりかなと、一瞬思いましたが、ファイル名からしてちょっと違うかなと
思いました。

https://github.com/microsoft/MS-DOS/blob/04a3d20ff411409ab98474892b2bb1713bde0f7f/v2.0/source/PRINT.ASM#L1623

Discussion