使用powershell复制在过去半小时内创建的具有特定扩展名的文件

使用powershell复制在过去半小时内创建的具有特定扩展名的文件,powershell,Powershell,我正在尝试复制在过去半小时内创建的文件(.zip),并使用下面的脚本进行复制,但由于某些原因,源目录中的所有zip文件都被复制了过来。你能帮我改正一下吗 copy-item C:\ABC\\*.zip -filter (Get-ChildItem | Where{$_.CreationTime -ge (Get-Date).AddMinutes(-30)}) -destination C:\ 请尝试以下操作: Get-ChildItem C:\ABC\*.zip | Where { $_.Cr

我正在尝试复制在过去半小时内创建的文件(.zip),并使用下面的脚本进行复制,但由于某些原因,源目录中的所有zip文件都被复制了过来。你能帮我改正一下吗

copy-item C:\ABC\\*.zip -filter (Get-ChildItem | Where{$_.CreationTime -ge (Get-Date).AddMinutes(-30)}) -destination C:\
请尝试以下操作:

Get-ChildItem C:\ABC\*.zip | Where { $_.CreationTime -ge (Get-Date).AddMinutes(-30) } | % { Copy-Item $_.FullName -destination C:\ }

我不知道为什么
filter
不起作用,但它会获取所有拉链的列表,过滤到时间正确的拉链,然后发出copy语句。

-filter
在OP的示例中被传递,对象数组从文件系统中移除。通常,
-筛选器
由字符串数组组成。谢谢,但它会出现以下错误:“Where对象:无法绑定参数'FilterScript'。无法将类型为“System.string”的“CreationTime”值转换为类型为“System.Management.Automation.ScriptBlock”@Stackoverflowuser此语法仅适用于较新的powershell 3.0+版本。尝试对子句使用{}
Where{CreationTime-ge(Get Date).AddMinutes(-30)}
@Matt,我不知道这是新语法。我已更新为使用scriptblock样式语法。