Как удалить файлы размером менее x kb с помощью сценария powershell - PullRequest
0 голосов
/ 10 июня 2019

Привет всем, у меня есть 1 папка, в которой есть много подпапок и много файлов .txt. Я хочу удалить .txt файлы, особенно размером менее 10 kb.

Я пробовал эту папку, ноКаждый раз я получаю сообщения об ошибках.

$Dir  = "C:\Users\*************\Desktop\test"
'$SizeMin' = 10 #KB

Get-ChildItem -Path $Dir -Recurse | 
    Where {$_.Length / 10KB -lt $SizeMin} | 
        Remove-Item -Force

"Неожиданный токен $ SizeMin в выражении или выражении. + CategoryInfo: ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId: UnexpectedToken"

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Всякий раз, когда изучаю что-то новое, особенно кодирование, я считаю, что лучше разбить все на части и не торопиться с написанием сначала нарисованного кода, а затем сжимать его.Вы можете использовать и редактировать следующий нарисованный код, чтобы лучше понять, что происходит:

#Root directory
$dir = "C:\Users\*************\Desktop\test"

#Minimum size for file
$minSize = 10

#Throwing through every item in root directory
Get-ChildItem -Path $dir -Recurse | ForEach-Object{

    #Check if file length if less than 10
    if ($_.Length / 10KB -lt $minSize){
        Remove-Item $_ -Force
    }else{
        #File is too big to remove
    }
}
0 голосов
/ 10 июня 2019

Этот код может вам помочь, он удаляет файлы размером менее 10 КБ (10000 байт) в заданном каталоге:

$path = 'C:\Users\*************\Desktop\test'
Get-ChildItem $path -Filter *.stat -recurse |?{$_.PSIsContainer -eq $false -and $_.length -lt 10000}|?{Remove-Item $_.fullname -WhatIf}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...