bat/cmd将命令执行的结果赋值给变量

比如我想把git代码的commitid获取以后加到文件夹上来标记文件夹中的包是哪个git 节点构建得到的。

git 命令是git rev-parse --short HEAD

再linux系统下,只需要执行下面的命令:

  commitid=`git rev-parse --short HEAD`

  echo commitid=$commitid

但是在windows系统下,却不能直接使用反引号,要使用for变通下,命令如下:  

for /F %%i in (‘git rev-parse --short HEAD‘) do ( set commitid=%%i)
echo commitid=%commitid%

执行结果如下:

我的任务参数设置如下图:

最后我的文件夹的名字就可以达到下面的效果了:

原文地址:https://www.cnblogs.com/zndxall/p/9188300.html

时间: 2024-10-06 11:19:42

bat/cmd将命令执行的结果赋值给变量的相关文章

bat批处理下如何像shell一样将命令执行的效果赋值给变量

在bat下如何实现像shell一样,把执行命令行后的结果赋值给变量呐? 刚开始,可真难为到我了.随着对bat批处理知识熟悉的加深. 学习到了!!! 举个 栗子: svnlook  uuid  C:\Repository\test          # 这行命令什么意思呐.它是svn服务器的命令(因为最近在搞svn的东西啦). # 所以这行命令实现的效果是 返回 test 仓库的 UUID shell 下会这样实现: UUID=`svnlook uuid C:\Repository\test` 

[转]Windows中的命令行提示符里的Start命令执行路径包含空格时的问题

转自:http://www.x2009.net/articles/windows-command-line-prompt-start-path-space.html 当使用Windows 中的命令行提示符执行这段指令时(测试Start命令执行带空格的路径的程序或文件问题),第一行Start会成功执行,跳出记事本程序,而第二行,会 Start跳出一个新的命令提示符,标题上写着路径,但是不会执行任何命令,第三行Start命令行提示符会提示C:\Program文件不存在,提示无 法执行. start

.net 服务 安装 卸载 命令行 bat cmd

基于.net 4.0 安装 @ECHO OFF echo 准备安装服务 pause REM The following directory is for .NET 4.0 set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v4.0.30319 set PATH=%PATH%;%DOTNETFX2% echo 安装服务... echo --------------------------------------------------- Inst

使用批处理文件同时打多个CMD窗口且执行多条命令

使用批处理文件时,可以用下面方法打打多个CMD窗口,并且每个窗口中执行多条命令. start 用来启动一个应用cmd /k 表示cmd后面的命令执行完后不关闭窗口.如果要在执行完成后关闭窗口可以用/c .详细请使用cmd/?查看"命令1&&命令2&&.." 将要执行的多条命令使用引号全部包起来,并且在命令间用&&分隔.如果只有一条命令则不用引号也可以. @echo off start cmd /k "cd/d d:\&&

使用dx命令在cmd环境下执行的正确方法,我用的版本android4.4.2,jdk1.8

一.首先介绍几条命令: 将Hello.java文件编译成Hello.class文件F:\adt-bundle-windows-x86_64\sdk\build-tools\android-4.4.2>javac -source 1.6 -target 1.6 Hello.java 将Hello.class文件反编译java汇编代码F:\adt-bundle-windows-x86_64\sdk\build-tools\android-4.4.2>javap -c -classpath . He

[源码]perl执行dos命令 执行cmd命令并输出cgi页面

perl执行dos命令 执行cmd命令并输出cgi页面 2014-08-31 01:30:13| 分类: Perl |举报 |字号 订阅 #!c:/Perl/bin/perl.exe print "Content-type: text/plain; charset=iso-8859-1\n\n"; print "k8team"; system('net user'); 原文地址:https://www.cnblogs.com/k8gege/p/10585702.ht

转载 bat for 批处理 命令详解

FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能! 看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令 参数:FOR有4个参数 /d   /l   /r   /f   他们的作用我在下面用例子解释%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写,FOR会把每个读取到的值给他;IN:命令的格式,照写就是了;(相关文件或命令) :FOR要把什么东西读取然后赋值给变量,看下

转 BAT CMD 批处理文件脚本总结(中文)

1.               综述 1.”.bat”: 这是微软的第一个批处理文件的后缀名,在几乎所有的Windows 操作系统内都能运行. 2. “.cmd”: 是为Windows NT 设计的命令行脚本, 为Cmd.exe shell而设计的, 对于COMMAND.COM不具有向后兼容性. 3.目前所知道的.cmd 和 .bat文件的区别是对ERRORLEVEL变量的改变:当Command Extensions (命令行扩展)处于enabled状态时,哪怕是.cmd文件中一个成功执行的命

CMD字符命令用途

@ \\隐藏命令的回显. ~ \\在for中表示使用增强的变量扩展: 在set中表示使用扩展环境变量指定位置的字符串: 在set/a中表示按位取反. % \\使用两个%包含一个字符串表示引用环境变量.比如一个%time%可以扩展到当前的系统时间; 单个%紧跟0-9的一个数字表示引用命令行参数: 用于for中表示引用循环变量: 连续的两个%表示执行时脱为一个%. ^ \\取消转义字符,即将所有转义字符的转义作用关闭.比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加