Windows 10マシンでmore
コマンドを実行すると"コマンドラインに引数が多すぎます。"ファイル名が渡された場合、ファイルが存在するかどうかに関係なく返されます。
これまでのところ、これは1つのWindows 10 Home 64ビットx64システムでのみ確認されています。
ランニング where more
戻り値 C:\Windows\System32\more.com
予想通り。
more
のこの動作は予想されますか?以前のバージョンのWindowsではこれに遭遇したことがありません。
私は自分のシステムで問題を再現しました。私は間違いなくあなたが話していることを見ています...しかし、私はいつもパイプに続いてmore
を使用しているので、これに気づいたことはありません(|
)、 このような:
type filename.txt | more
このコマンドは、私のシステムでは問題なく機能します。
これもWindows 10 Enterprise(バージョン1803、ビルド17134.407)で再現できます。 Joel CoehoornとMrEricSirのソリューションが機能することを確認できます。 FWIW、私は/E
オプションは、more
をUNIXフレーバーのように動作させるためです。
私の解決策は入力リダイレクトを使用することでした:
more < cowbell.txt
このドキュメントはどこにも見つかりませんが、回避策を見つけました。この特定のケースでは、拡張機能が/E
フラグで有効になっている場合、more
は期待どおりに機能します。
たとえば、次はexample.txt
を表示します。
more /E example.txt
これは、more
が/E
オプションなしで入力ファイルを受信しないためです。 more /?
を実行すると、以下の出力が得られます。
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]
したがって、他の人が言ったように、more /E file
、command | more
、またはmore < file
を使用する必要があります。参照 https://ss64.com/nt/more.html
ただし、more file
を実行しても動作する場合がありますが、なぜですか? MSDNのドキュメント を見ると、more
がファイルを直接受信できることがわかります
<Command> | more [/c] [/p] [/s] [/t<N>] [+<N>]
more [[/c] [/p] [/s] [/t<N>] [+<N>]] < [<Drive>:][<Path>]<FileName>
more [/c] [/p] [/s] [/t<N>] [+<N>] [<Files>]
/E
オプションについての言及は1つもありません。したがって、more
はある時点で更新され、ヘルプページはそれに応じて更新されなかったようです