Скрипты Powershell, вызываемые приложением C #

У меня есть этот сценарий PowerShell (test1.ps1), вызывающий другой сценарий PowerShell (test2.ps1) для выполнения этой работы.

Оба файла сценария находятся в одной папке

test1.ps1

echo "from test1.ps1"

.\test2.ps1

test2.ps1

echo "from test2.ps1"

Когда я вызываю test1.ps1 в C #, создавая пространство выполнения, добавляя команды в конвейер и вызывая его, я получаю сообщение об ошибке: «Термин '. \ Test2.ps1' не распознается как имя командлета, функция , файл сценария или работающая программа. Проверьте правильность написания имени или, если был указан путь, проверьте правильность пути и повторите попытку ".


person kannan    schedule 10.08.2011    source источник
comment
Покажите, пожалуйста, код, который вы используете для запуска скриптов.   -  person John Saunders    schedule 11.08.2011


Ответы (1)


Оба сценария могут находиться в одной папке, но .\test2.ps1 будет искать test2.ps1 в той же папке, что и вызывающее приложение, то есть приложение C #.

Имейте это в test.ps1:

$scriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
.$scriptdir\test2.ps1
person manojlds    schedule 10.08.2011