PowerShell脚本新增子文件夹跳过校验逻辑实现咨询
PowerShell脚本新增跳过逻辑实现方案
你只需要在已有的OwnerEmail.txt存在性校验之后,新增两段判断逻辑即可,具体修改如下:
- 新增第一段校验:判断当前路径下是否存在子文件夹,不存在直接跳过当前循环
- 新增第二段校验:判断当前路径下是否存在修改时间超过30天的子文件夹,不存在直接跳过当前循环
以下是修改后的循环段完整代码示例:
foreach ($SubFolder in $ParentFolders) { $path = Join-Path $SubFolder -ChildPath 'OwnerEmail.txt' # ================ 若OwnerEmail.txt不存在则跳过 ================ if (-not(Test-Path $path)){Continue} # ================ 新增:无任何子文件夹则跳过 ================ $allSubDirs = Get-ChildItem -Path $SubFolder -Directory -ErrorAction SilentlyContinue if ($allSubDirs.Count -eq 0) { Continue } # ================ 新增:无超过30天未修改的子文件夹则跳过 ================ $expireDate = (Get-Date).AddDays(-30) $overdueDirs = $allSubDirs | Where-Object { $_.LastWriteTime -lt $expireDate } if ($overdueDirs.Count -eq 0) { Continue } # ================ 构建HTML报告 ================ $WRAHTMLReport = $overdueDirs | Select-Object Name, CreationTime # 后续原有逻辑保持不变 # ... }
以上写法提前缓存了子文件夹查询结果,避免重复访问磁盘,执行效率更高,可直接替换原有脚本中对应的循环部分。
内容的提问来源于stack exchange,提问作者Miguel
相关产品推荐
相关产品推荐

