需要帮助 - 第一个功能
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
第三种选择是将函数定义粘贴到您的控制台中。那时,该函数被加载到您当前的范围中。然后你就可以调用函数了。
我正在尝试编写我的第一个函数,但遇到了一些问题。当我 运行 以下时,我没有输出。我觉得我错过了一些明显的东西,但我不确定是什么。
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
第三种选择是将函数定义粘贴到您的控制台中。那时,该函数被加载到您当前的范围中。然后你就可以调用函数了。