Linux 将多个命令的输出重定向到单个文件

Linux 将多个命令的输出重定向到单个文件,linux,windows,batch-file,Linux,Windows,Batch File,我对windows批处理脚本非常陌生,这可能是一个愚蠢的问题。 我正在运行以下批处理文件:“traffic.bat” 第一个命令工作正常,但对于其他命令,我得到以下错误: “该进程无法访问该文件,因为其他进程正在使用该文件” 我知道在linux上这很好:“traffic.sh” 我想实现与“traffic.sh”非常相似的功能。之所以这样做,是因为所有进程都试图同时使用该文件。您需要等待每个人完成其任务。您所要做的就是为testart命令包含/wait参数。试试这个: start /wait /

我对windows批处理脚本非常陌生,这可能是一个愚蠢的问题。 我正在运行以下批处理文件:“traffic.bat”

第一个命令工作正常,但对于其他命令,我得到以下错误: “该进程无法访问该文件,因为其他进程正在使用该文件”

我知道在linux上这很好:“traffic.sh”


我想实现与“traffic.sh”非常相似的功能。之所以这样做,是因为所有进程都试图同时使用该文件。您需要等待每个人完成其任务。您所要做的就是为te
start
命令包含
/wait
参数。试试这个:

start /wait /B netperf.exe -H HOST IP >> file.txt
start /wait /B netperf.exe -H HOST IP >> file.txt
start /wait /B netperf.exe -H HOST IP >> file.txt
...
这应该很好


Mona

以下是将多个命令的输出同时重定向到同一文件的另一种方法:

...
(
start /B netperf.exe -H HOST IP
start /B netperf.exe -H HOST IP
start /B netperf.exe -H HOST IP
::Add more commands if needed
)>>file.txt

不幸的是,我无法测试这在您当前的情况下是否有效。

您尝试过cygwin吗?我认为您的“traffic.sh”脚本可能需要一些小改动(可能是解释器和行尾)

只是问一下,它们必须在同一个文件中吗?即使他们这样做了,你能做的就是把他们放在不同的文件中,然后把他们全部附加到一个“file.txt”中,然后我不知道出了什么问题……是的,他们在同一个文件中。我把它们放在同一个文件中,因为我想同时执行所有命令。@Jaiswal你为什么不试试
call
,或者不包括
start/b
,并把它作为一个可操作的程序引用呢。那可能行得通。
start /wait /B netperf.exe -H HOST IP >> file.txt
start /wait /B netperf.exe -H HOST IP >> file.txt
start /wait /B netperf.exe -H HOST IP >> file.txt
...
...
(
start /B netperf.exe -H HOST IP
start /B netperf.exe -H HOST IP
start /B netperf.exe -H HOST IP
::Add more commands if needed
)>>file.txt