Запустите сценарий PowerShell из другого - PullRequest
7 голосов
/ 05 апреля 2011

Каков наилучший и правильный способ запуска сценария PowerShell из другого?

У меня есть скрипт a.ps1, из которого я хочу вызвать b.ps1, который выполняет другую задачу.

Дайте мне знать ваши предложения. Является ли точечный поиск лучшим вариантом здесь?

Ответы [ 2 ]

6 голосов
/ 05 апреля 2011

Точечный источник запускает второй сценарий, как если бы он был частью вызывающей стороны - все изменения области действия сценария будут влиять на вызывающую.Если это то, что вам нужно, то точка-источник,

Однако более обычно вызывать другой сценарий, как если бы он был функцией (сценарий может использовать param и атрибуты уровня функции, как функцию),Во многих отношениях сценарий является функцией PowerShell, а имя файла заменяет имя функции.

1 голос
/ 07 апреля 2011

Точечный источник облегчает на более позднем этапе преобразование ваших скриптов в модуль, вам не нужно будет превращать скрипты в функции.

Еще одним преимуществом точечного поиска является то, что вы можете добавить функцию в свою оболочку, добавив файл, содержащий функции, в Microsoft.PowerShell_profile.ps1, что означает, что они у вас всегда есть (устранение необходимости беспокоиться о путях и т. Д. ).

В верхней части моих файлов с точечными источниками есть короткий хост записи с именем функции и общими параметрами, и я поставил функции в своем профиле. Каждый раз, когда я открываю PowerShell, список функций в моем профиле прокручивается (если вы, как и я, часто забываете точные имена своих функций / файлов, вы оцените это с течением времени, поскольку количество функций начинает накапливаться).

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