更多命令返回“命令行中的参数太多”

更多命令返回“命令行中的参数太多”

我有一台 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 filecommand | 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在某个时候更新的,而帮助页面并没有相应更新

相关内容