Как запустить скрипт PowerShell в C# из относительного пути?
Я пытаюсь запустить сценарий PowerShell из моего приложения C#. Я знаю, как сделать это с абсолютным путем:
using (PowerShell pshell = PowerShell.Create())
{
pshell.AddScript( @"C:PathToWebapppsScript.ps1" );
pshell.Invoke();
}
Чего я не знаю, так это как использовать относительный путь. Мой
psScript.ps1 находится в том же каталоге, что и мой проект Visual Studio, и я хотел бы использовать относительный путь (например, ./psScript.ps1), чтобы при публикации/экспорте моего проекта на другие компьютеры путь к скрипту не становился недействительнымОооо, как я использую относительный путь в PowerShell.Метод AddScript ()? Любая помощь будет оценена по достоинству!
Я посмотрел здесь, но это не ответ на мой вопрос:
PowerShell: запуск команды из каталога скрипта
2 ответов:
Используйте это:
using (PowerShell pshell = PowerShell.Create()) { string path=System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); pshell.AddScript( path+"\\psScript.ps1" ); pshell.Invoke(); }Этот путь всегда находится относительно корневой папки вашего проекта.
Добавьте свой скрипт в проект и задайте свойство
Copy to output directoryвCopy alwaysилиCopy id newer
Comments