Журнал удаленных файлов в текстовый файл - PullRequest
0 голосов
/ 15 октября 2018

Я хочу знать, как записать действия из этого сценария в текстовый файл, потому что я не знаю, как это сделать, так как командлет Start-Transcript не работает для меня, и я не смог найтирешение в Интернете.

Проблема заключается в том, что командлет Where-Object не выводит ничего, захваченного Get-ChildItem.

У кого-нибудь есть хорошая идея, чтобы решить эту проблему?

$limit = (Get-Date).AddDays(-30)  
$path = Split-Path -Parent $MyInvocation.MyCommand.Definition
Get-ChildItem -Path $path -Recurse -Force | Where-Object {
    !$_.PSIsContainer -and
    $_.LastWriteTime -lt $limit
} | Remove-Item -Force

Get-ChildItem -Path $path -Recurse -Force | Where-Object {
    $_.PSIsContainer -and
    (Get-ChildItem -Path $_.FullName -Recurse -Force | Where-Object {
        !$_.PSIsContainer
    }) -eq $null
} | Remove-Item -Force -Recurse

Ответы [ 2 ]

0 голосов
/ 15 октября 2018

попробуйте что-то вроде этого

$limit = (Get-Date).AddDays(-30)  
$path =Split-Path -Parent $MyInvocation.MyCommand.Definition

Get-ChildItem $path -file -recurse -force | where LastWriteTime -lt $limit | 
        Tee-Object -FilePath "c:\temp\deleted.txt"  -Append | Remove-Item

Get-ChildItem $path -directory | 
    where {(Get-ChildItem $_.FullName -file -Recurse | select -First 1) -eq $null} | 
        Tee-Object -FilePath "c:\temp\deleted.txt" -Append | Remove-Item
0 голосов
/ 15 октября 2018

howdy error666,

Вы можете использовать несколько разных методов ...

  • Tee-Object = разветвлять поток в файл
  • -PipelineVariable = накапливать информацию в переменной
  • использовать цикл = поместить в него шаг журнала в файл
  • поместить ForEach-Object в конвейер
    , который может одновременно регистрировать вашиинформация и сделать Remove-Item.

цикл проще всего понять.[ ухмылка ] однако, если вы хотите сохранить его в конвейере, вы можете добавить ForEach-Object, где находится сценарий Where-Object, и поместить в этот блок и тест фильтра, и различные действия.

Берегите себя,
Ли

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...