powershell - 通过windows任务调度程序将参数传递给powershell脚本不起作用
问题描述
创建了 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
在脚本开头声明该部分。很好的教程在这里。
现在脚本需要名为 'DaysOld' 类型的参数integer
。
一些文件.ps1:
param(
[Parameter(Mandatory=$True,Position=1)]
[int]$DaysOld = 0
)
Write-Host $DaysOld
用法:
powershell.exe "& '.\somefile.ps1' -DaysOld -200"
推荐阅读
- python - Python WEBDRIVER - 我无法从列表框中选择一个元素并提交我的答案
- java - 为什么将两个小于 int 的数据类型的数字相加会转换为 int?
- c - 如何证明两个和为零的整数具有位互补的补码表示?
- mysql - 将表单输入列数据与刚刚创建的 id 自动增量数据即时组合
- javascript - 如何确定用户是否从后端单击了前端的按钮?
- r - 在 R 中加载数据集 mnist() 时出错
- r - googleAnalyticsR 包无法将类型“闭包”强制转换为“字符”类型的向量
- python - 如何创建一个不会显着减慢程序速度的百分比跟踪器
- python - GloVe for Python 3.7 版本
- c - 即使我在两个循环之后都释放了嵌套的while循环中的内存泄漏