Вероятно, это можно сделать с помощью однострочника FOR
l oop, но это может быть более понятным и поддерживаемым в будущем. Требуется PowerShell 5.1+. Если вы используете поддерживаемый компьютер Windows, он будет иметь или может иметь Windows PowerShell 5.1.
=== Get-ZeroInFileList.ps1
$BaseDir = 'C:\src\t'
$ResultFile = 'C:\src\t\zresult.txt'
Get-ChildItem -Recurse -Directory -Path $BaseDir -Filter 'in' |
ForEach-Object {
Get-ChildItem -File -Path $_.FullName |
ForEach-Object {
if ($_.Length -eq 0) { $_.FullName | Out-File -FilePath $ResultFile -Encoding ascii }
}
}
Вызвать его как команду cmd.exe, используя:
powershell -NoLogo -NoProfile -File "Get-ZeroInFileList.ps1"