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 Function 时区设置

一,引言 Azure Function 上的默认使用UTC 运行程序,我们在获取时间,或者通过时间执行某些逻辑时,返回UTC 时间,导致业务数据不正常,由于 Azure Function 是微软提供的 IaaS 托管服务,我们无法登录服务器来修改时区,那么我们今天将来实践操作,如何通过配置达到更改

【Azure Developer】一个复制Redis Key到另一个Redis服务的工具(redis_copy_net8)

介绍一个简单的工具,用于将Redis数据从一个redis端点复制到另一个redis端点,基于原始存储库转换为.NET 8:https://github.com/LuBu0505/redis-copy-net8

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)

在前一篇文章中,我们是把.NET 8应用读取SSL证书(X509)示例部署在App Service Windows环境中,那么如果部署在Linux环境,以及Linux Container中呢? 根据前文中的第一种方法,直接在把证书文件包含在源文件中,通过相对路径读取证书文件的方式,经测试,可以正常工

【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Windows)

在使用App Service服务部署业务应用,因为有些第三方的接口需要调用者携带TLS/SSL证书(X509 Certificate),在官方文档中介绍了两种方式在代码中使用证书: 1) 直接使用证书文件路径加载证书 new X509Certificate2 2) 从系统的证书库中通过指纹加载...

Azure Service Principals ----- Azure 上最好保守的秘密的服务

一,引言 Azure Service Principals 是 Azure Active Directory (AAD) 中的一种标识,代表应用程序,服务,自动化流程。Service Principals 支持各种 Azure 服务和资源之家的安全通信,为应用程序提供了一种进行身份验证并于 Azur

【Azure Developer】如何通过Azure Portal快速获取到对应操作的API并转换为Python代码

问题描述 对于Azure资源进行配置操作,门户上可以正常操作。但是想通过Python代码实现,这样可以批量处理。那么在没有SDK的情况下,是否有快速办法呢? 问题解答 当然可以,Azure Portal上操作的所有资源都是通过REST API来实现的,所以只要找到正确的API,就可以通过浏览器中抓取

【Azure APIM】列举几种在APIM 策略中的主动生产的错误语句

问题描述 在为APIM服务配置了诊断日志(Diagnostic Setting),把日志收集在Log A Workspace中,需要验证日志中是否能查看到请求的错误信息。 所以想人为的来制造一些错误。经过网络搜索,参考Policy的文档介绍后,完成了以下3种错误 第一种:使用 return-resp

【Azure Developer】.Net 简单示例 "文字动图显示" Typing to SVG

问题描述 看见一个有趣的页面,可以把输入的文字信息,直接输出SVG图片,还可以实现动图模式。 示例URL: https://readme-typing-svg.demolab.com/?font=Fira+Code&pause=1000&color=F7F7F7&background=233911F