Нет вывода из команды FOR over over

215
gws

У меня есть некоторые файлы, которые я только что зафиксировал в моем git-репо:

C: \ core \ guidewire \ Release \ 5.3_MT1 \ ClaimCenter> git diff - голова только для имени ^^ ClaimCenter / modules / configuration / config / web / pcf / TabBar.pcf ClaimCenter / modules / configuration / config / web / pcf /team/user/TeamUserClaims.pcf ClaimCenter / modules / configuration / gsrc / civils / cc / pcf_gs / team / TeamTabLastUser.gs

Теперь я хочу записать пути и сделать что-то еще с ними, но git diffкоманда не создает (?) Строк для FOR /Fитерации:

C: \ core \ guidewire \ Release \ 5.3_MT1 \ ClaimCenter> для / f% p in ('git diff - head-only name ^^') do @ (echo% p)

C: \ ядро ​​\ проволочный \ Release \ 5.3_MT1 \ ClaimCenter>

Что тут происходит? Сначала я ожидал, что в моем синтаксисе была какая-то ошибка, но дифференцирование по другим целям работает внутри цикла for. Например, «master ^^» доказывает, что это не просто побег, играющий хаос:

C: \ core \ guidewire \ Release \ 5.3_MT1 \ ClaimCenter> для / f% p in ('git diff - только для имени мастера ^^') do @ (echo% p) ClaimCenter / modules / configuration / config / rules /Reopened/ClaimReopened_dir/CRO05000ApplyCustomReopenRule_dir/CRO05010AssignToOriginalAdjuster.gr ClaimCenter / modules / Configuration / Config / Rules / Reopened / ClaimReopened_dir / CRO05000 / CRO05000 / config_clanf_class_Chip_Care_Clay_Care_CoE_CFBRec_RacFB_Rec_Rec_Rec_Rack_Rec_Rec_Rec_Rack_Rack_Rack_Rack_C_D config / web / pcf / team / user / TeamUserClaims.pcf ClaimCenter / modules / configuration / gsrc / граждан / cc / pcf_gs / team / TeamTabLastUser.gs

1
Мы все знаем, что CMD.EXE является * своеобразным *, если не сказать больше, но что особенно расстраивает, так это то, что единственный нужный мне случай (файлы, измененные в HEAD) - это единственный найденный мной случай, который не работает! gws 5 лет назад 0

1 ответ на вопрос

0
gws

Дважды убери "голову ^" к "голову ^^^^" :

C: \ core \ guidewire \ Release \ 5.3_MT1 \ ClaimCenter> для / f% p in ('git diff - head-only-head head ^^^^') do @ (echo% p)
ClaimCenter / modules / configuration / config /web/pcf/TabBar.pcf
ClaimCenter / modules / configuration / config / web / pcf / team / user / TeamUserClaims.pcf
ClaimCenter / modules / configuration / gsrc / граждан / cc / pcf_gs / team / TeamTabLastUser.gs

Когда CMD запускает цитируемый команду второй раунд расширения происходит так ^^становится ^и то . На самом деле, тестовый пример, отличающийся от «master ^^», ничего не доказывает, так как в итоге не осталось лишних символов. Исходная командная строка просто отличала HEAD от HEAD, в которой, конечно, нет файлов, которые были изменены.