пакетная запись файлов измененных файлов коммитов git в переменные

Я хотел бы написать пакетный скрипт (и запустить его через cmd), который записывает измененные файлы определенного коммита git в переменные.

У меня есть следующий код:

@ECHO OFF
SetLocal EnableDelayedExpansion
set count=1
for %%m in ('git diff-tree --no-commit-id --name-only -r sha1-hash') do (
        set var!count!=%%m 
        set /a count=!count!+1
)
ECHO %var1%
ECHO %var2%
ENDLOCAL

Эхо var1 и var2 возвращает:     'git for var1     и diff-дерево для var2

Если я добавлю echo% var3% echo% var4% и т. д., результат будет следующим: 'git diff-tree --no-commit-id - only -name -r sha1-hash' echo off echo off echo off ...

Так что я думаю, что моя команда git diff-tree ...- не рассматривается как команда. Пытался исправить это самостоятельно, но пришлось сдаться ... Не могли бы вы мне помочь, пожалуйста?

Большое спасибо!

4 голоса | спросил user10205278 9 PM000000110000002131 2018, 23:36:21

1 ответ


0
Используйте флаг ---- +: = 0 =: + ---- для циклического перемещения по токенам в тексте.Используйте флаг ---- +: = 1 =: + ---- для просмотра диапазона чисел.Пример:Подробности смотрите здесь: https://ss64.com/nt/for.html
ответил sergej 10 AM000000100000002331 2018, 10:35:23

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132