

windows10のコマンドプロンプトで質問です。

[code]

    dir > tmp.txt
    
[/code]

という内容のバッチファイルを作成し、test.bat と名前をつけます。  
これをコマンドプロンプトで実行すると、

> D:\>test
>
> D:\>dir 1>tmp.txt

と表示され、リダイレクト記号の前に半角の"1"が表示されます。  
また、リダイレクト記号のあとにあった半角スペースは消えています。  
tmp.txtの内容は問題ありません。

なぜバッチファイルの内容と違う命令が出力されてしまうのでしょうか。  
この1は標準出力STDOUTのことなのでしょうか。  
バッチファイルは S-JIS、コマンドプロンプトも CP932 です。


CC BY-SA 3.0
2017-04-01T13:44:52.073
33693
2021-03-09T09:05:15.547
20300
question
windows batch-file command-line
windows10のコマンドプロンプトで数字の1が表示される


[Batch files - How To ... Display and Redirect
Output](http://www.robvanderwoude.com/battech_redirection.php)
には以下のように書かれています。

> When we use > to redirect Standard Output, CMD.EXE interprets this as 1>, as
> can be seen by writing and running ...

* * *

この投稿は @metropolis
さんの[コメント](https://ja.stackoverflow.com/questions/33693/#comment33153_33693)などを元に編集し、[コミュニティWiki](https://ja.meta.stackoverflow.com/q/1583)として投稿しました。


CC BY-SA 4.0
2021-01-26T00:52:24.900
73573
2021-01-26T01:00:56.510
2021-01-26T01:00:56.510
3060
9820
33693
answer