Вы можете передать вывод команды git
в code
в качестве аргумента :
code (git diff master... --name-only)
PowerShell собирает стандартный выводвыводить строки из внешней программы в массиве .
Предполагая, что команда git
выводит только пути к файлам, каждая на отдельной строке, передавая этот массив вдругая внешняя программа , такая как code
, автоматически передает элементы массива как отдельные , соответствующие кавычки аргументы.
Например,в Windows, если вы запустили следующее:
code (cmd /c echo file1`& echo "file 2")
code
увидит командную строку, такую как:
...\code.cmd "file1" "file 2"
Обратите внимание, что (прямой) конвейер до code
не является опцией , потому что code
не принимает пути к файлам от stdin;вы можете использовать stdin для передачи содержимого (нового) файла , однако ('Text for new doc' | code -
).
Существует нет преимуществ использования конвейера черезКомандлет PowerShell ForEach-Object
здесь .