我的PowerShell脚本



我有一个PowerShell脚本,删除目录中的文件,包括子目录中的文件。我需要它只删除该目录下的文件而不删除子目录

下的文件

我有:

    $DelFiles = get-childitem $DirectoryName -include $FileTemplate -recurse |where {$_.Lastwritetime -lt (date).AddDays(-$days)}

如有任何帮助,不胜感激

删除-recurse:

$DelFiles = get-childitem $DirectoryName -include $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)}

Powershell (v2.0 . 1 -1)有一个有趣的行为

Get-ChildItem . -include *.txt

-将不符合您的期望(将返回零匹配)

Get-ChildItem .* -include *.txt

-将产生适当的预期结果。(将返回当前目录下的所有TXT文件)

这似乎是它的设计的一部分-看它的手册:

Get-Help Get-ChildItem -full

也许你的$DirectoryName格式像C:111,当你的datagrab你实际上应该提供一些像C:111*

get-childitem C:111* -include *.txt

希望有帮助。^ _ ^

删除递归并添加-file

如果您只想删除目录和子目录

中的文件
 get-childitem $DirectoryName -recurse -File -Filter $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)} | Remove-Item -Force

如果您想只删除目录中的文件而不删除子目录

 get-childitem $DirectoryName -File -Filter $FileTemplate | where {$_.Lastwritetime -lt (date).AddDays(-$days)} | Remove-Item -Force

相关内容

  • 没有找到相关文章

最新更新