вызов файла main.ps1 для функции, которая существует в файле second.ps1 относительно powershell - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь вызвать функцию, которая существует в другом файле PS1 из моего основного файла PS1, проблема в том, что я не могу сделать это динамически, например: если я ссылаюсь на файл PS1, как это, это работает очень хорошо :

. "C:\scripts\restoreDB1.0\QueryBuilder.ps1"

Я хочу сделать что-то вроде этого: . "\QueryBuilder.ps1" or "QueryBuilder.ps1" или

$ref1 = Join-Path  ($MyInvocation.MyCommand.Path) -ChildPath "QueryBuilder.ps1"
''+"$($ref1)"+''

, поскольку файлы находятся в одном каталоге.

еще одна вещь, Мне нужно, чтобы он работал с любого пути (вне каталога проекта) на локальной машине

tnx.

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете сделать что-то вроде этого:

main.ps1

param(
    [string] $nameOfScriptToDotSource = 'QueryBuilder.ps1'
)

. "$PSScriptRoot\$nameOfScriptToDotSource"

DoStuff

QueryBuilder.ps1

function DoStuff() {
    Write-Host 'Doing stuff...'
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...