简单的PowerShell脚本失败
问题描述:
所以我有一个查找特定文件,如下面的过程:简单的PowerShell脚本失败
@(Get-ChildItem -Path \\$Server\c$\temp\* where-object { $_.CreationTime.Date -match "2016" })
这工作得很好,直到我想尝试和分裂我的产值可达。我了解了“$ OFS =”“”,并想使用它(全局PowerShell变量?)并将其更改为$ OFS =“`r`n”。
现在,当我运行上面的命令时,一个错误:
Get-ChildItem : A positional parameter cannot be found that accepts argument ' $_.CreationTime.Date -match "2016" '.
我试图用$ OFS =“”重置它,这似乎没有帮助。我无法弄清楚我已经做了什么来破坏我的简单脚本。对不起,这是一个非常小巧的问题,但我一直在寻找这个好几年,不能拿出答案。我在网上找到的一切似乎都声明我的powershell命令应该可以工作
答
您的powershell命令无法工作。 GET-ChildItem和地点,对象是不同的cmdlet,尝试管道(|)。从GET-ChildItem到位置对象输出
@(Get-ChildItem -Path \\$Server\c$\temp\* | where-object { $_.CreationTime.Date -match "2016" })
'$ _ CreationTime.Year -eq 2016'避免转换为字符串,使用正则表达式和呃..假阳性匹配的可能性,如果脚本仍然在2016年后运行;) – TessellatingHeckler
@TessellatingHeckler你击败了我的评论。 (2016年除外:-) – LotPings