Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   cmd удаление файлов меньше чем <...>, включая подпапки (http://forum.oszone.net/showthread.php?t=264460)

Uuups 17-07-2013 11:08 2185924

cmd удаление файлов меньше чем <...>, включая подпапки
 
Собственно есть дерево папок забитое файлами мелкими и не нужными и большими, но нужными!
Задача: удалить в папке и во вложенных папках все файлы, которые весят менее, чем 50 кб

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

Uuups 17-07-2013 11:47 2185952

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

Iska 17-07-2013 12:39 2185992

Код:

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 2186641

Код:

#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 2186642

sunnykey, зачем второй «-Recurse»?

Uuups 19-07-2013 12:01 2187144

Агга, спасибо. =)
Пока ждал ответов, сам закопался в мануалы, вспомнил.

sunnykey 19-07-2013 12:03 2187145

Цитата:

Цитата Iska
sunnykey, зачем второй «-Recurse»? »

Можно и без него, если поставить -Force

Iska 19-07-2013 21:05 2187544

sunnykey, зачем «-Force» — хотя бы ясно.


Время: 09:38.

Время: 09:38.
© OSzone.net 2001-