【Azure Batch】在批处理的Task中如何让它执行多个CMD指令呢

问题描述

根据Azure Batch的入门文档(使用 Azure 门户创建 Batch 帐户并运行作业 : https://docs.azure.cn/zh-cn/batch/quick-create-portal),创建了Batch Account, Pool, Job, Task. 并且成功运行。

这时候,想要在Batch的Task中执行多个CMD指令,尝试写多行执行。类似如下:

cmd /c  "echo %date% %time%"
cmd /c "set AZ_BATCH & timeout /t 90 > NUL"
cmd /c "timeout /nobreak /t 50"
cmd /c "echo 'what is your name?'"
cmd /c "echo %date% %time%"

测试发现,只是执行了第一行指令。那么,如何在Task中执行多个CMD指令呢?

 

问题解答 

其实就是要考虑如何让CMD执行多次指令,所以可以使用“ & ”连接符。

若要对 <string> 使用多个命令,请用命令分隔符 && 分隔它们。 例如:

<command1>&&<command2>&&<command3>

修改后的指令为:

cmd /c&nbsp; "echo %date% %time% &amp; set AZ_BATCH &amp; timeout /t 90 &gt; NUL &amp; timeout /nobreak /t 10 &amp; echo 'what is your name?' &amp; echo %date% %time% &amp; for %I in (1,2,3,4,5,6) do echo '%time%'&nbsp; &nbsp;"

本地执行效果:

Azure Batch Task执行效果:

 

 

参考资料

cmd : https://learn.microsoft.com/zh-cn/windows-server/administration/windows-commands/cmd#remarks

快速入门:使用 Azure 门户创建 Batch 帐户并运行作业 : https://docs.azure.cn/zh-cn/batch/quick-create-portal

 

正在加载评论...