Показать полную графическую версию : 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 для реального удаления файлов. Исполнять непосредственно в командной строке.
sunnykey
18-07-2013, 15:47
#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»?
Агга, спасибо. =)
Пока ждал ответов, сам закопался в мануалы, вспомнил.
sunnykey
19-07-2013, 12:03
sunnykey, зачем второй «-Recurse»? »
Можно и без него, если поставить -Force
sunnykey, зачем «-Force» — хотя бы ясно.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.