用于重定向子进程输出的 CMD 文件

用于重定向子进程输出的 CMD 文件

我需要一个接收两个参数的批处理文件:一个命令(带有一些参数的文件名)和一个文件路径 - 用于命令执行的输出重定向。我尝试了一些变体,例如call %1 > %2start %1 > %2在文件“q.cmd”中,调用 asq "echo test" "log.txt"q 'echo test' 'log.txt'%1call %1with q "echo test > log.txt",但都不起作用。我^之前也尝试过>。在大多数情况下,它会打印“'echo 未被识别为内部或外部命令...”或类似内容,有时会创建空的 123.txt 或一些服务行,但没有我需要的“测试”。我该如何解决这个问题?

答案1

q "echo test" "log.txt"将会输入两个参数。

“echo test” 将单独存在,不再是“Echo”后跟“test”作为 Echo 的参数,而是一个名为“echo test”的命令,这是无效的。

您需要将参数与命令分开,而批处理脚本实际上并不是执行此操作的最佳方法,尤其是当您需要动态数量的参数时。请考虑使用 PowerShell。

话虽如此,如果您想要一些简单、不那么灵活且仍然是批处理文件的东西,那么也许可以在批处理文件中尝试以下内容: %2 %3 > %1

然后只需首先指定输出文件,然后指定命令,然后指定要与该命令一起使用的参数。

即:q log.txt echo Test,或q log.txt echo "string with spaces to echo"

这些对我有用。:)

相关内容