Прежде всего, функции не похожи на макросы или что-то, что встроено в код.Функции вызываются и возвращают значение в конвейер.
Таким образом, вы используете как
Source |
FileNumber |
Destination |
и определяете функции, такие как
Функция Source {gci -path (Read-Host-Prompt 'Set Source') -exclude PowerFlyt |}
не будет работать.Измените функции без этих конечных каналов (|
).
Чтобы передать переменную из узла чтения, сохраните значения чтения в переменных:
Function Source {
$script:source = read-host "set source"
gci -path $source -exclude PowerFlyt
}
Теперь вы можете получить доступ к $script:source
в других функциях в скрипте.Сделайте то же самое для любой другой переменной.