Estoy perplejo aquí en lo que parece ser un problema simple; lo siento por cualquier cabeza hueca aquí.¿Cómo se puede probar Get-ChildItem sin resultados (cero archivos)?
Tengo una secuencia de comandos que limpia los archivos de copia de seguridad desaparecidos. Después de identificar los archivos, repito e imprimo lo que se está volcando. Mi problema surge al tratar de proporcionar comentarios/pruebas cuando hay cero archivos difuntos. La secuencia de comandos se parece a ...
$Files = Get-ChildItem $BackupPath_Root -include *.bak -recurse
| where {$_.CreationTime -le $DelDate_Backup }
if ($Files -eq "" -or $Files.Count -eq 0) {
write-host " no files to delete." #<-- this doesn't print when no files
} else {
foreach ($File in $Files) {
write-host “$File”
Remove-Item $File | out-null
}
}
Si no se comprueba la ausencia de archivo, si no se comprueba ningún archivo. ¿Cuál es la forma adecuada de probar $Files
sin resultados?
Este es un gran truco para el manejo conjunto PowerShell peculiar/interpretación. ¡Gracias! –
Se ha subido porque, en mi opinión, es la forma correcta (y fácil) de manejar arreglos que podrían ser nulos o donde la siguiente tubería fallará si es nula. – CosmosKey