Нужна помощь - первая функция - PullRequest
2 голосов
/ 17 февраля 2020

Я пытаюсь написать свою первую функцию и у меня возникли некоторые проблемы. Когда я запускаю ниже, я не получаю вывод. Я чувствую, что упускаю что-то очевидное, но я не уверен, что.

function findModifiedFiles {
    [CmdletBinding()]
    param (
        [string]$dir,
        [int]$days
    )
    Process {
        Write-Host "Directory: " $dir
        Write-Host "Days: "$days
    }
}

Вывод:

enter image description here

1 Ответ

2 голосов
/ 17 февраля 2020

В конечном итоге вам нужно загрузить свою функцию, а затем вызвать функцию, чтобы получить любой вывод. Поскольку ваша функция определена в файле, один из способов ее загрузки - точечный поиск файла. Затем вы можете просто вызвать вашу функцию.

. .\modfilesTest.ps1
findModifiedFiles -dir c:\temp -days 7

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

# modfilesTest.ps1 Contents
[CmdletBinding()]
param (
    [string]$dir,
    [int]$days
)
Process {
    Write-Host "Directory: " $dir
    Write-Host "Days: "$days
}

Теперь вызовите скрипт с вашими параметрами.

.\modfilesTest.ps1 -dir c:\temp -days 7

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

...