Function Move {
#Moves all files older than 31 days old from the Source folder to the Target
Get-Childitem -Path "E:\source" | Where-Object { $_.LastWriteTime -lt (get-date).AddDays(-31)} |
ForEach {
Move-Item $_.FullName -destination "F:\target" -force -ErrorAction:SilentlyContinue
}
}
源目录中的是超过2 - 3年的文件,但是当我运行脚本时没有任何内容移动到目标目录?怎么了?
答案 0 :(得分:22)
我不知道这是否会产生很大影响,而不是$。它需要是$ _。
我尝试过这个脚本,它对我来说很好用:
get-childitem -Path "E:\source" |
where-object {$_.LastWriteTime -lt (get-date).AddDays(-31)} |
move-item -destination "F:\target"
请注意,您不需要foreach循环,因为对象将被“管道”到move-item命令中
答案 1 :(得分:4)
另请注意隐藏文件,尝试将-Force
添加到Get-ChildItem