Компьютерный форум 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=320617)

vickt 09-11-2016 15:10 2686089

Удаление файлов
 
Возможно ли удалить в папке все .ico файлы кроме самого большого по размеру.
Скрипт должен быть с указанием пути к папке.

alpap 09-11-2016 19:04 2686138

Код:

@echo off
set "sdir=papka"& if not "%~1"=="" set "sdir=%~1"
::set "sdir=papka"& if "%~1"=="" set /p sdir="Введите путь к папке: "
for /f "delims=" %%a in ('dir /a-d/b/o-s "%sdir%\*.ico"^|more +1') do del /q "%sdir%\%%a"
exit


vickt 09-11-2016 20:28 2686165

alpap, не удаляет не одного файла в папке.

alpap 09-11-2016 20:45 2686168

vickt,
Поехали
- в коде имя папки "papka" по умолчанию, если не задана параметром или вручную, если используется закомментированная строка, находится она (папка "papka") в той же директории где bat с кодом иначе вместо "papka" надо написать set "sdir=Диск:\путь\имя папки" и она должна существовать, я предполагал что эти вещи не придеться объяснять человеку, вытягивающему что-то из .exe
- возможно в папке у вас файлы с расширением не .ico, как вы указали, тогда поменять на нужное
- а, собственно, более вариантов нет :)

vickt 09-11-2016 21:20 2686175

alpap, Спасибо большое.

megaloman 09-11-2016 22:24 2686193

alpap, Не понимаю, зачем здесь More, когда можно в For применить Skip
Код:

@Echo Off

Set "Where=Z:\Temp"
Set "Mask=*.ico"

FOR /F "usebackq skip=1 delims=" %%i IN (`Dir "%Where%\%Mask%" /B /A:-D /O:-S 2^>nul`) DO Del "%Where%\%%i"


Iska 09-11-2016 22:40 2686199

Цитата:

Цитата megaloman
alpap, Не понимаю, зачем здесь More, когда можно в For применить Skip »

Я скромно промолчал ;).


Время: 06:44.

Время: 06:44.
© OSzone.net 2001-