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

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

darkAge 08-07-2013 11:40 2181138

Поиск файлов по размеру
 
Интересно, можно ли сделать такой скриптик, что бы искал файлы больше определенного размера, и удалял их?

Sphinx114 08-07-2013 13:36 2181284

Код:

for /f "delims=" %%i in ('dir /b /s /a-d') do if %%~zi gtr 1024 del /a /f "%%i"
число в байтах

darkAge 08-07-2013 14:16 2181315

А что бы искал файлы в указанной папке, а не только в той от куда запускается скрипт?
как я понимаю назначить переменной %%i нужный путь?

Sphinx114 08-07-2013 17:47 2181428

Код:

for /f "delims=" %%i in ('dir "C:\папка для примера" /b /s /a-d') do if %%~zi gtr 1024 del /a /f "%%i"
сохранять батник в 866 кодировке

darkAge 09-07-2013 17:02 2181991

Вот что на пример выдает
видит файлы, показывает их размер, но почему то не удаляет.

Код:

C:\Users\admin>C:\234\searsh.cmd

C:\Users\admin>echo on

C:\Users\admin>chcp 866
Текущая кодовая страница: 866

C:\Users\admin>for /F "delims=" %i in ('dir "C:\searsh" /b /s /a-d') do if %~z
GTR 1048576 echo del /a /f "%i"

C:\Users\admin>if 6475507 GTR 1048576 echo del /a /f "C:\searsh\7600_RTM_v13.2
09.06.2010).exe"
del /a /f "C:\searsh\7600_RTM_v13.2_(09.06.2010).exe"

C:\Users\admin>if 2399303 GTR 1048576 echo del /a /f "C:\searsh\qip2005_8097.e
"
del /a /f "C:\searsh\qip2005_8097.exe"

C:\Users\admin>if 6664704 GTR 1048576 echo del /a /f "C:\searsh\RemoveWAT.exe"
del /a /f "C:\searsh\RemoveWAT.exe"

C:\Users\admin>if 106 GTR 1048576 echo del /a /f "C:\searsh\searsh.cmd"

C:\Users\admin>if 7680 GTR 1048576 echo del /a /f "C:\searsh\Thumbs.db"

C:\Users\admin>if 33270 GTR 1048576 echo del /a /f "C:\searsh\VCR352-3.zip"

C:\Users\admin>if 615217 GTR 1048576 echo del /a /f "C:\searsh\VCR446Free.exe"


Foreigner 09-07-2013 17:29 2182003

как туда попало echo?
Код:

if 106 GTR 1048576 echo del /a /f "C:\searsh\searsh.cmd"
как вариант с помощью forfiles:
Код:

forfiles /p "C:\Path\To\Folder" /s /c "cmd /c if @isdir==FALSE if @fsize gtr 1024 del /a /f @file"

darkAge 09-07-2013 17:48 2182013

Foreigner, спасибо
Разобрался, у меня каким то волшебным образом перед командой del появилась echo, бред. (наверное откопипастил криво)
В общем оба скрипта работают, спасибо всем.


Время: 20:51.

Время: 20:51.
© OSzone.net 2001-