У меня здесь два вопроса, почему при запуске сценария не распознается следующая функция в сценарии:
Сценарий:
$pathN = Select-Folder
Write-Host "Path " $pathN
function Select-Folder($message='Select a folder', $path = 0) {
$object = New-Object -comObject Shell.Application
$folder = $object.BrowseForFolder(0, $message, 0, $path)
if ($folder -ne $null) {
$folder.self.Path
}
}
Я получаю сообщение об ошибке:
The term 'Select-Folder' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try aga
in.
Но если я загрузлю и запусту его в Windows Powershell ISE, он выдаст мне ошибку в первый раз, а затемдействуйте так, как будто он «зарегистрировал» функцию и после этого будет работать.
И в случае, если это процедурная проблема, я попытался перечислить функцию вверху, но безуспешно.
Примечание Я пробовал простые функции, такие как:
Write-host "Say "
Hello
function Hello {
Write-host "hello"
}
С теми же точными результатами / ошибкой, он жалуется, что Hello не является функцией ....
Кроме того, этовсе еще не каждая работа просто выполняет сценарий в powershell (только в ISE после первой начальной попытки).