我有一台 Windows 10 机器,运行该more
命令返回“命令行中的参数太多。”如果我传递任何文件名,无论该文件是否存在。
到目前为止,我只在一个 Windows 10 Home 64 位 x64 系统上看到过这种情况。
跑步的where more
回报C:\Windows\System32\more.com
正如我所期望的那样。
这是预期的行为吗more
?我在以前版本的 Windows 上从未遇到过这种情况。
答案1
我刚刚在自己的系统上重现了您的问题。我完全明白您在说什么……但我以前从未注意到这一点,因为我总是more
在竖线 ( |
) 后面使用,如下所示:
type filename.txt | more
该命令在我的系统上运行良好。
答案2
我也可以在 Windows 10 Enterprise(版本 1803,内部版本 17134.407)上重现此问题。我可以确认 Joel Coehoorn 和 MrEricSir 的解决方案有效。FWIW,我喜欢这个/E
选项,因为它使more
行为更像 UNIX 风格。
我的解决方案是使用输入重定向:
more < cowbell.txt
答案3
我找不到任何相关文档,但我找到了一个解决方法。在这种特殊情况下,more
如果使用标志启用了扩展功能,则可以按预期工作/E
。
例如,将显示以下内容example.txt
:
more /E example.txt
答案4
这是因为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
选项。所以看起来是more
在某个时候更新的,而帮助页面并没有相应更新