/ / Uruchamianie pliku wykonywalnego, którego wartości parametrów są określone jako zmienne w powershell - powershell, build

Uruchamianie pliku wykonywalnego, którego wartości parametrów są określone jako zmienne w powershell - powershell, build

Piszę skrypt wersji w PowerShell itrzeba wywołać niestandardowy plik wykonywalny i przekazać kilka parametrów do pliku wykonywalnego. Niewielu z tych parametrów przypisano wartości z różnych warunków i wykonania w skrypcie. Widzę, że wartości nie są oceniane, gdy wywoływany jest plik wykonywalny. Niektóre zmienne należy również przekazać jako ciąg argumentów wewnątrz podwójnych cudzysłowów. Poniżej pokazano połączenie telefoniczne

mysample.exe „-forcerebuild” „-release =$ CALC_VERSION"" -projfile = sample.proj "" -buildoptions = "/ p: AllowDevDependencies = true / p: AssemblyVersion =$ CALC_ASSEMBLY_VERSION / flp: LogFile =$ env: tempbuild.log / p: BaseIntermediateOutputPath =$ PROJECT_BASEbuild / clp: nosummary „”

Wszystkie zmienne wymagające oceny są podświetlone. Plik exe oczekuje wszystkich opcji zawartych w opcji -buildoptions w cytowanym -buildoptions = „wszystkie opcje kompilacji”

Wartości nie wydają się podlegać ocenie. Jeśli jednak ustawię opcje kompilacji jako osobną zmienną i wydrukuję ją, wydaje się, że wartości zostaną ocenione. Jestem nowy w PowerShell i naprawdę doceniłbym każdą pomoc w tym.

Odpowiedzi:

4 dla odpowiedzi № 1

Zauważ, że PowerShell nie wykonuje rozszerzania zmiennych w ciągach pojedynczych cudzysłowów. Na przykład:

$test_variable = "test"
write-host "this is a $test_variable"
write-host "this is a $test_variable"

wydrukuje

this is a test
this is a $test_variable

Ponadto PowerShell ma problemy z przekazywaniem argumentów do ex. Jest taki zwany EchoArgs.exe to pochodzi Rozszerzenia społeczności Powershell. Skorzystaj z tego i przekaż do tego swój argument, aby sprawdzić, czy zostały poprawnie przekazane.