我想创建powershell脚本来删除文件和文件夹与此方案:
- 解析所有项目的格式为E:\Data\Report
- 在报告文件夹中,我有很多文件夹,如“1578”,“1579”,“1576”等。
- 每个文件夹都有许多文件
- 我的脚本必须读取每一个文件夹和子文件夹和罚款文件,最后修改是高达30j
- 然后删除文件
- 然后删除父文件夹"1578"如果它是空的
- 等等
但我卡住了,因为我找不到如何返回到父文件夹。
这是我的剧本,你能帮我吗?
$folderPath = "E:\Data\Report"
$limit = (Get-Date).AddDays(-30)
Get-ChildItem -Path $folderPath -Directory | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item -Recurse -Force
我的代码粘贴在这里只删除文件,但不父文件夹
我的主文件夹是GLASSART,我的脚本需要解析每个子文件夹(209580,209581,209582等),每个子文件夹都有文件和子文件夹
1条答案
按热度按时间xzlaal3s1#
注意:根据后来的反馈和对您问题的更新,您似乎正在寻找下面的用例2。
用例一:如果
$folderPath
的子文件夹中只有个文件**(且没有自己的子文件夹):注意:上面命令中的
-WhatIf
公共参数 * 预览 * 操作。删除-WhatIf
,并在确定该操作将按您的要求执行后重新执行。用例二:如果文件太旧,且子文件夹为空,则必须从每个子文件夹的整个子树中删除。
注意事项:
-WhatIf
在下面的第一个Remove-Item
调用中保留了下来。但是,这意味着解决方案的 folder-deletion方面不能预览,因为只有在文件和子文件夹实际被删除时,逻辑才会启动。换句话说:你只能预览哪些 * 文件 * 将被删除。Remove-Item
调用中 not 使用-WhatIf
,任何 * 已经为空 * 的子目录将立即被删除。