通过 windows 任务计划程序将参数传递给 powershell 脚本不起作用

Passing parameters through windows task scheduler to powershell script not working

创建了 powershell 脚本,它从早于 X 天的文件夹中删除文件(将 X 作为参数传递)并在任务计划程序中安排它。 以下是任务计划程序中“操作”下的“添加参数”选项卡中提供的命令:

-Command "& 'C:\Temp\Test.ps1' -DaysOld '-200'"

测试。ps1:

Get-ChildItem -Path "/Temp" -File | Where-object {($._LastWriteTime lt (Get-Date).AddDays($DaysOld))| Remove-Item 

以上是在不考虑传递的值 -200 的情况下删除所有文件。也尝试过使用文件选项,没有任何效果。

在脚本开头声明 params 部分。好tutorial here.

现在脚本需要类型为 integer 的名为 'DaysOld' 的参数。

somefile.ps1:

param(
    [Parameter(Mandatory=$True,Position=1)]
    [int]$DaysOld = 0
)

Write-Host $DaysOld 

用法:

powershell.exe "& '.\somefile.ps1' -DaysOld -200"