powershell - PowerShell:尝试查找在某个日期之后修改的文件
问题描述
应该很简单吧?但我无法让它工作
我的代码:
$StiNavn = "C:\TestDato"
foreach ($i in $StiNavn)
{
if ($i.LastWriteTime -ge ('01/06/2021').Date )
{
Get-ChildItem $i | % { $_.FullName }
}
}
但是所有文件都会返回,即使是今天编辑的文件(也是今天创建的文件)。
我究竟做错了什么?
解决方案
StiNavn 只是一个字符串,您没有将任何文件/对象传递给 $StiNavn。运行 Get-ChildItem 然后将其分配给变量将生成一个对象集合,然后您可以使用 foreach 循环这些对象
$StiNavn = Get-ChildItem "C:\TestDato" -recursive
你也可以使用 where-object 来做一些事情。一个例子是...
$StiNavn = Get-ChildItem "C:\TestDato" -recurse | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-30)}
推荐阅读
- if-statement - CLIPS - 如何从 IF/READ 语句的异常中排除字符?
- batch-file - 批处理文件:循环中字符串的长度
- java - 读取存储在文件中的 ArrayList
- javascript - JS中多参数多箭头函数的困惑
- java - Java摇摆排序可视化
- r - 如何根据 R 中的条件插入日期(给出的示例)?
- authorization - 使用授权策略类授权访问 cakephp4 中的索引页面的正确方法是什么?
- bash - 在 shell 脚本中输入 n 行的 head 命令
- linux - Jenkinsfile 写入字符串将方括号包含到文件中
- python - 使用python在循环中绘制多数据帧