Скрипты Powershell, вызываемые приложением C # - PullRequest
3 голосов
/ 11 августа 2011

У меня есть сценарий 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 »не распознается как имя командлета, функции, файла сценария или работоспособной программы. Проверьте правильность написания имени или, если указан путь, убедитесь, что путь правильно и попробуйте снова. "

1 Ответ

4 голосов
/ 11 августа 2011

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

Содержит это в test.ps1:

$scriptDir = Split-Path -parent $MyInvocation.MyCommand.Path
.$scriptdir\test2.ps1
...