добавление текста в папки без файлов / и без вложенных папок с файлами - PullRequest
1 голос
/ 23 сентября 2019

У меня есть код, который я собрал из разных источников, найденных в Интернете.Я полагаю, что этот код должен искать и находить все папки, у которых нет файлов / и чьи подпапки не имеют файлов, а затем добавить текст «NA -» в начало этих папок.Когда я проверял, это выглядело так, как будто некоторые папки, которые были явно пустыми, не были отмечены.Я что-то упускаю?Любая помощь будет принята с благодарностью, спасибо.

$CMfolder=get-childitem "Z:\folder\subfolder\subfolder2" -Recurse |
Where-Object {$_.PsIsContainer -eq $true}
$CMfolder | Where-Object {$_.GetFiles().Count -eq 0 -and
$_.GetDirectories().count -eq 0} | 
where-object {$_.Name -Notlike "NA -*"} |

Rename-Item -NewName {"NA -" + $_.Name}

1 Ответ

0 голосов
/ 23 сентября 2019

попробуйте это:

    Get-ChildItem "c:\temp" -recurse -directory -Force | where Name -Notlike "NA -*" |
 select *, @{N="HasChild";E={((Get-ChildItem $_.FullName -recurse -force -file).Count -ne 0)}} | where {! $_.HasChild}
...