在一个新的cmd中运行一个命令,并将返回的内容保存到一个文件中。

问题描述 投票:0回答:1

我有一个返回值的命令行程序。比如这个简单的批处理文件。

echo "Hello World"

在正常的情况下,我可以把输出管到这样的文件中。

$ my_batch.bat > file.log

如果我想在一个新的控制台中用一个特定的标题来启动这个程序,问题就会出现。

$ start "NewConsole" cmd.exe /c my_batch.bat > file.log

在这种情况下,我的批处理似乎运行了,但我的file.log是空的。

batch-file cmd
1个回答
1
投票

就像@Compo和@aschipfl说的那样。> 现在你的脚本中是将整个的 start 命令(这什么都不是),然后把你当前的脚本用管道传输。然而,如果你或者 1. >^జజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజజ > 将会传递到下一个命令提示符,或者如果你将 " 围绕着启动命令的部分,把要做的事情传递给下一个命令提示符,这样它就会传递你想传递的东西,包括你想传递的 > 管。


总的来说,你可以用这个。
start "NewConsole" cmd.exe /c my_batch.bat ^> file.log

或者用这个

start "NewConsole" cmd.exe /c "my_batch.bat > file.log"
© www.soinside.com 2019 - 2024. All rights reserved.