cmd удаление файлов меньше чем <...>, включая подпапки
Собственно есть дерево папок забитое файлами мелкими и не нужными и большими, но нужными!
Задача: удалить в папке и во вложенных папках все файлы, которые весят менее, чем 50 кб
вгуглил http://forum.oszone.net/post-1400549-2.html
понять, как отметить файлы во вложенных папках не смог (
Спасибо за внимание
|
forfiles /p C:\tst\new\ /m *.* /s /c "cmd /c if @fsize LEQ 56000 del"
есть такой вариант, но в этом случае ругается на синтаксис.
|
Код:
for /f "usebackq delims=" %i in (`dir "E:\Песочница\0001\*.*" /a:-d /b /s`) do @if %~zi lss 51200 (<nul set /p sVar=%~fi & echo %~zi & echo del "%~fi")
Убедившись, что отбор верный, уберите выделенное echo для реального удаления файлов. Исполнять непосредственно в командной строке.
|
Код:
#Powershell script.
#Don't forget unlock script executing by
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
#Save this file with ".ps1" extension
gci "d:\*" -Recurse | ? {$_.Attributes -ne [System.IO.FileAttributes]::Directory} | ? {$_.Length -lt 50KB} | Remove-Item -Recurse -WhatIf
Если правильно, убрать -WhatIf
|
sunnykey, зачем второй «-Recurse»?
|
Агга, спасибо. =)
Пока ждал ответов, сам закопался в мануалы, вспомнил.
|
Цитата:
Цитата Iska
sunnykey, зачем второй «-Recurse»? »
|
Можно и без него, если поставить -Force
|
sunnykey, зачем «-Force» — хотя бы ясно.
|
Время: 09:38.
© OSzone.net 2001-