Я пытаюсь использовать Powershell для автоматизации сборок проектов с использованием компилятора / компоновщика cli. Я хочу поместить сценарий в корневой каталог проекта и сделать так, чтобы он проверял все исходные файлы рекурсивно и компилировал их, а выходные данные компилятора указывали на тот же каталог, что и исходные файлы. Я также хотел бы собрать список * .c в виде переменной с разделителями-запятыми в качестве входных данных для компоновщика. Это типичная ситуация:
//projects/build_script.ps
//projects/proj_a/ (contains a bunch of source files)
//projects/proj_b/ (contains a bunch of source files)
Я хочу отсканировать все подкаталоги и скомпилировать исходные файлы для каждого * .c файла. Это то, что я до сих пор:
$compilerLocation = "C:\Program Files (x86)\HI-TECH Software\PICC-18\PRO\9.63\bin\picc18.exe";
$args = "--runtime=default,+clear,+init,-keep";
$Dir = get-childitem C:\projects -recurse
$List = $Dir | where {$_.extension -eq ".c"}
$List | $compilerLocation + "-pass" + $_ + $args + "-output=" + $_.current-directory;
Я понимаю, что $ _. Current-directory не является реальным членом, и у меня, вероятно, есть другие проблемы с синтаксисом. Я прошу прощения за неопределенность моего вопроса, я более чем готов объяснить, что может показаться неясным.