Добрый день,
Я некоторое время боролся с тройными двойными кавычками, тройными одинарными кавычками, экранированием кавычек ...
Мне нужно выполнить Команда 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
, так как оба содержат пробелы.
Спасибо!