NUL & timeout /nobreak /t 10 & echo 'what is your name?' & echo %date% %time% & for %I in (1,2,3,4,5,6) do echo '%time%' "" />

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

Task,Batch,CMD,Azure · 浏览次数 : 96

小编点评

解决问题: 1. 在您的CMD指令中使用多行命令分隔符进行分隔。例如,您可以使用引号将多个命令组合在一起。 2. 在您的CMD指令中使用“ & ”连接符将多个命令连接在一起。例如,以下命令将执行三个命令: ``` cmd /c "echo %date% %time% && set AZ_BATCH & timeout /t 90 > NUL && timeout /nobreak /t 50 && echo 'what is your name?' && echo %date% %time% && for %I in (1,2,3,4,5,6) do echo '%time%' &">本地执行效果:Azure Batch Task执行效果:  ``` 3. 在您的批处理文件中,使用“ %I”引用任务中的循环变量。 **示例:** 假设您的任务中的变量名为“loop_index”。您可以在您的CMD指令中使用以下命令来循环执行多个命令: ``` %I = 1 echo %date% %time% %I = 2 echo %date% %time% %I = 3 echo %date% %time% ``` **注意:** * 使用多行命令需要在命令之间使用引号进行分隔。 * 使用“ & ”连接符将多个命令连接在一起。 * 在您使用多行命令时,要确保每个命令都正确执行。

正文

问题描述

根据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  "echo %date% %time% & set AZ_BATCH & timeout /t 90 > NUL & timeout /nobreak /t 10 & echo 'what is your name?' & echo %date% %time% & for %I in (1,2,3,4,5,6) do echo '%time%'   "

本地执行效果:

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

 

与【Azure Batch】在批处理的Task中如何让它执行多个CMD指令呢相似的内容:

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

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

【Azure Batch】在中国区批处理服务(Mooncake Batch Account)上实验自动池(Auto Pool)的创建/删除

问题描述 在Azure Batch的介绍文档中,提出了自动池的概念, 它可以在任务完成后,自动删除Pool资源,详细介绍:https://docs.azure.cn/zh-cn/batch/nodes-and-pools#autopools & https://learn.microsoft.com

Azure DevOps Server 入门实践与安装部署

一,引言 最近一段时间,公司希望在自己的服务器上安装本地版的 Azure DevOps Service(Azure DevOps Server),用于项目内的测试,学习。本着学习的目的,我也就开始学习在测试服务器上安装 Azure DevOps Server 2022 Express 以及测试的 D

Azure DevOps Server 设置项目管理用户,用户组

一,引言 Azure DevOps Server 搭建完成后,关于如何进行项目管理,项目成员管理等,我们接着上一篇文章,继续讲解 Azure DevOps Server 的用户,用户组。首先,我们需要明白 Azure DevOps Server 有哪些登录方式 1)Azure DevOps Serv

Azure DevOps Server 用户组加入 Azure AD Domain Service 管理用户

一,引言 今天我们继续讲解 Azure DevOps Server 的内容,对于管理用户组除了在 Azure DevOps Server 服务器上添加管理员方式外,还有没有其他方式,Azure DevOps 需要加入Azure ADDS 服务域后,Azure DevOps Server 的管理员组是

Azure Terraform(十二)利用 Terraform 将文件上传到 Azure Blob Storage

一,引言 本篇文章中,我门将学习如何利用 Terraform 将 文件以及文件夹上传到 Azure Blob Storage,这个对于我们来说很方便,可以将一些不重要的内容也存储在源代码管理工具中! 开始今天的内容之前,我们先来看看今天的主角 Terraform fileset Function 根

Azure Terraform(十三)提升 Azure Web App Plan 的性能

一,引言 一,引言 我们是否正在为部署在云主机上的应用程序性能缓慢和停机问题而苦恼?我们是否正在因为云主机上仅仅部署了应用程序,在流量平缓的时候而浪费大量的计算资源而心疼荷包。那么让我们来一起看看 Azure Web App Plan 吧!今天我们以 IAC 的方式来控制资源的创建,通过使用 Ter

Azure DevOps(一)基于 Net6.0 的 WPF 程序如何进行持续集成、持续编译

一,引言 我们是否正在为如何快速的编译、部署客户端应用程序而烦恼?这也是博主最近遇到的问题。目前博主所在公司主要做项目级的定制化开发,多以 C/S 架构的 WPF 程序为主,每次到了协助开发团队给实施团队编译好的要测试程序包时,就会出现多人协助,编译、打包好的二进制程序包 pull 最新代码 ,以及

Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性

一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着以上问题,开始今天的分析内容吧 !!! 1)什么是 SonarQube ? SonarQube 是一

Azure DevOps(三)Azure Pipeline 自动化将程序包上传到 Azure Blob Storage

一,引言 结合前几篇文章,我们了解到 Azure Pipeline 完美的解决了持续集成,自动编译。同时也兼顾了 Sonarqube 作为代码扫描工具。接下来另外一个问题出现了,Azure DevOps 由于有人员限制,项目上不能给非开发人员或者外包成员开权限,这个时候就需要将编译好的程序包上传到公