80

我正在使用 PowerShell 并尝试运行以下命令:

.\test_cfdp.exe < test.full | tee test.log

test.full 是一个模拟 test_cfdp.exe 的命令行输入的脚本。但是,我收到以下错误:

The '<' operator is reserved for future use.

有没有另一种方法(即 cmdlet)我可以用来让这个命令在 PowerShell 中工作?

4

5 回答 5

78

在 PowerShell v1 中不受支持[从 v5 开始,它仍然不...]

一个示例解决方法是:

Get-Content test.full | .\test_cfdp.exe | tee test.log
于 2010-01-27T17:04:45.923 回答
47

也试试:

cmd /c '.\test_cfdp.exe < test.full | tee test.log'
于 2013-05-14T16:52:18.357 回答
4

我已经切换到 linux shell 并且它可以工作

于 2019-07-19T04:47:21.853 回答
1

如果您想多次运行此命令,您可以使用原始语法创建一个 *.bat 文件。那是另一种解决方案。

于 2013-06-08T09:20:38.447 回答
1

在 PowerShell 版本 7 中,您仍然需要使用 Get-Content 来获取指定位置中项目的内容。例如,如果您想将文件加载到 Python 脚本中并将结果写入文件。使用此构造:

PS > Get-Content input.txt | python .\skript.py > output.txt

或显示并保存在文件中:

PS > Get-Content input.txt | python .\skript.py | tee output.txt

或者切换到 cmd 以使用 '<' 运算符:

C:\>python .\skript.py < input.txt > output.txt
于 2021-12-03T10:53:20.737 回答