Как установить команды git output в качестве переменной в командном файле - PullRequest
0 голосов
/ 30 января 2019

Я новый пакетный скрипт.Это может быть глупый вопрос.Может ли кто-нибудь помочь мне со следующей командой.

, когда я запускаю следующую команду.это работает отлично.

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

 Output is : refs/tags/SAMPLE

Теперь я хочу присвоить этот вывод переменной

Попытка присвоить значение переменной TAG, но с ошибкой.

 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.

Пожалуйста, помогите

1 Ответ

0 голосов
/ 30 января 2019

Скобка в --format=%(refname) вызывает проблемы с внешними скобками, поэтому вам нужно их избежать, что делается с помощью символа ^.

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

Примечание 1: Сделайте себе одолжение ииспользуйте git-bash или powershell для создания сценариев git для windows.

Примечание 2. Существует много угловых случаев и различий в зависимости от того, запускаете ли вы пакетные команды из .bat fil или вводите их в консоль, см. также Назначить вывод программы переменной и Экранирование скобок в скобках для командного файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...