Py学习  »  Git

如何将命令git output设置为批处理文件中的变量

sree1611 • 5 年前 • 1666 次点击  

我是新的批处理脚本。这可能是个愚蠢的问题。 有人能帮我执行命令吗?

当我运行以下命令时。它工作得很好。

 c:\test>git for-each-ref refs/tags --sort=-taggerdate --format=%(refname)

 Output is : refs/tags/SAMPLE

现在我想把这个输出赋给变量

试图将值赋给标记变量,但出现错误。

 C:\test>for /f %i in ('git for-each-ref refs/tags --sort=-taggerdate --format=%(refname)' ) do set TAG=%i
 ' was unexpected at this time.

请帮助

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/40904
 
1666 次点击  
文章 [ 1 ]  |  最新文章 5 年前
nos
Reply   •   1 楼
nos    6 年前

括号在 --format=%(refname) 导致外括号出现问题,因此需要对其进行转义,这是通过 ^ 性格。

 for /f %i in ('git for-each-ref refs/tags --sort=-taggerdate --format=%^(refname^)' ) do set TAG=%i

注意1:帮自己一个忙,使用git bash或powershell在windows上编写git脚本。

注2:根据您是从.bat fil运行批处理命令,还是在控制台中键入命令,有许多不同的情况,另请参见 Assign output of a program to a variable Escaping parentheses within parentheses for batch file