我是Windows批处理脚本的新手,这可能是一个愚蠢的问题。 我正在运行以下批处理文件:“traffic.bat”
start /B netperf.exe -H HOST IP >> file.txt
start /B netperf.exe -H HOST IP >> file.txt
start /B netperf.exe -H HOST IP >> file.txt
...
第一个命令工作正常但是对于进一步的命令,我收到以下错误: “进程无法访问该文件,因为它正被另一个进程使用”
我在linux上知道这很好用:“traffic.sh”
netperf.exe -H HOST IP >> file.txt &
netperf.exe -H HOST IP >> file.txt &
netperf.exe -H HOST IP >> file.txt &
我希望与“traffic.sh”非常相似。
答案 0 :(得分:3)
这样做的原因是所有进程都试图立即使用该文件。您需要等待每个人完成其任务。您所要做的就是包含te /wait
命令的start
参数。试试这个:
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
...
这应该可以正常工作!
莫纳
答案 1 :(得分:0)
以下是将多个命令的输出同时重定向到同一文件的另一种方法:
...
(
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
不幸的是,我无法测试这是否适用于您当前的情况。
答案 2 :(得分:0)