Дженкинс файл с PowerShell. Нужна помощь в работе с кавычками, тройными двойными кавычками и экранирующими символами - PullRequest
1 голос
/ 28 февраля 2020

Добрый день,

Я некоторое время боролся с тройными двойными кавычками, тройными одинарными кавычками, экранированием кавычек ...

Мне нужно выполнить Команда Powershell с кавычками в нем.

Вот что у меня есть:

testsDll = powershell(returnStdout: true, script: '((Get-ChildItem -Path $env:WORKSPACE\\src\\Web\\*Unit.Tests.dll -Recurse) -join " ")').trim()

TestDllWithParameters = "$testsDll" + " /TestAdapterPath:" + "${env.WORKSPACE}" + "\\src\\Web\\packages\\NUnit3TestAdapter.3.16.1 /Logger:trx;LogFileName=Web123456.trx /TestCaseFilter:TestCategory!=DEADLOCK^&TestCategory!=QUARANTINE^&TestCategory!=Quarantine^&TestCategory!=NotImplemented^&TestCategory!=InProgress^&TestCategory!=INTEGRATION^&TestCategory!=Integration"
VSCodeExeFullPath =  "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform\vstest.console.exe" 

env.VSTESTEXITCODE_WEB = powershell(returnStatus: true, script: """
   Start-Process "$VSCodeExeFullPath" -ArgumentList "$TestDllWithParameters" -NoNewWindow
""")'

Переменная интерполяция работает. У меня проблема в том, что я хотел бы сохранить кавычки вокруг $VSCodeExeFullPath и $TestDllWithParameters, так как оба содержат пробелы.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...