Войти

Показать полную графическую версию : cmd удаление файлов меньше чем <...>, включая подпапки


Uuups
17-07-2013, 11:08
Собственно есть дерево папок забитое файлами мелкими и не нужными и большими, но нужными!
Задача: удалить в папке и во вложенных папках все файлы, которые весят менее, чем 50 кб

вгуглил http://forum.oszone.net/post-1400549-2.html
понять, как отметить файлы во вложенных папках не смог (
Спасибо за внимание

Uuups
17-07-2013, 11:47
forfiles /p C:\tst\new\ /m *.* /s /c "cmd /c if @fsize LEQ 56000 del"
есть такой вариант, но в этом случае ругается на синтаксис.

Iska
17-07-2013, 12:39
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

Iska
18-07-2013, 15:49
sunnykey, зачем второй «-Recurse»?

Uuups
19-07-2013, 12:01
Агга, спасибо. =)
Пока ждал ответов, сам закопался в мануалы, вспомнил.

sunnykey
19-07-2013, 12:03
sunnykey, зачем второй «-Recurse»? »
Можно и без него, если поставить -Force

Iska
19-07-2013, 21:05
sunnykey, зачем «-Force» — хотя бы ясно.




© OSzone.net 2001-2012