var 1, linha de comando, subdiretório que não contém um arquivo .zip com pelo menos 7 dias:
powershell $tm=(get-date).AddDays(-7);ls "C:\ArcherBackup" -fo -r^|?{$_.PSIsContainer}^|%{ls "$($_.FullName)" -fo -fi *.zip}^|?{$_.CreationTime -lt $tm}^|group Directory^|FT -H Name
var 2, linha de comando, subdiretório que não contém um arquivo .zip com pelo menos 7 dias;
exceto arquivos ocultos e diretório:
powershell $tm=(get-date).AddDays(-7);ls "C:\ArcherBackup" -r^|?{$_.PSIsContainer}^|%{ls "$($_.FullName)" -fi *.zip}^|?{$_.CreationTime -lt $tm}^|group Directory^|FT -H Name
subpastas vazias sem arquivos:
powershell $d=ls -r^|?{$_.PSIsContainer};$d^|?{$_.GetFiles().Count -eq 0}^|FT -H FullName
subpastas sem arquivos zip:
powershell $d=ls -r^|?{$_.PSIsContainer};$d^|?{$_.GetFiles('*.zip').Count -eq 0}^|FT -H FullName
subpastas sem arquivos zip;
sub diretório que não contém um arquivo .zip com pelo menos 7 dias:
powershell $d=ls "C:\ArcherBackup" -fo -r^|?{$_.PSIsContainer};$tm=(get-date).AddDays(-7);$d^|%{ls "$($_.FullName)" -fo -fi *.zip}^|?{$_.CreationTime -lt $tm}^|group Directory^|FT -Au -H Name, Count;$d^|?{$_.GetFiles('*.zip').Count -eq 0}^|FT -H FullName|findstr [/s]| more
|findstr [/s]|
- exclui uma string vazia no pipe
FT
- alias Format Table
FT -H FullName
- formato de saída, selecione apenas FullName
-Au
alias -Autosize
-H
-hide header,
?
- alias where
- alias Where-Object
%
- alias foreach
- alias ForEach-Object
-fo
- alias -force
, fi
- alias -filter
, -r
- alias -recurse
^
- escape do caractere |
- o shell atual não é processado como pipeline
-command
group
- alias Group-Object