需要帮助 - 第一个功能

Need Help - First Function

我正在尝试编写我的第一个函数,但遇到了一些问题。当我 运行 以下时,我没有输出。我觉得我错过了一些明显的东西,但我不确定是什么。

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

输出:

您最终需要加载您的函数,然后调用该函数以接收任何输出。由于您的函数是在文件中定义的,因此加载函数的一种方法是 dot sourcing 文件。然后你可以简单地调用你的函数。

. .\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

第三种选择是将函数定义粘贴到您的控制台中。那时,该函数被加载到您当前的范围中。然后你就可以调用函数了。