Показать полную графическую версию : Подсчет количества удаленных файлов
Super_Kolobok
13-09-2024, 09:26
Удаляю по маскам разную фигню типа так del /f /s /a "*.x1"......del /f /s /a "*.x2"........
Как подсчитать в cmd и вывести в конце сколько всего было удалено файлов ?
Спасибо
DJ Mogarych
13-09-2024, 13:57
Например, посчитайте их сначала, а потом удаляйте.
Вот вариант для Powershell (там легче такие штуки делать)
$folder = 'C:\temp\folder'
$ext = '*.json','*.js'
dir $folder -Include $ext -File -Recurse -OutVariable f |del -WhatIf
$f |group Extension |% {"Удалено $($_.count) файлов $($_.name)"}
Чтобы реально удаляло, уберите -WhatIf
Ещё вариант - сохранение в CSV
$f |group Extension |select name,count |ConvertTo-Csv -Delimiter "`t" |tee C:\temp\deleted_files_log.csv
"Name" "Count"
".js" "48"
".json" "4"
megaloman
13-09-2024, 21:53
@Echo Off &Cls &>nul CHCP 1251
Set "BoxIn=D:\Delt"
Pushd "%BoxIn%" || (Echo Folder "%BoxIn%\" not found &Pause &Exit /B 2)
>nul CHCP 437
Set "Mask=*.bat *.vbs *.js"
Set /A n1=0, n2=0
For /F "usebackq tokens=1* delims= " %%f In (`2^>nul Dir /S ^|Find /I "File(s)"`) Do 2>nul Set /A n1=%%f
>nul 2>&1 Echo Del /s /f /a %Mask%
For /F "usebackq tokens=1* delims= " %%f In (`2^>nul Dir /S ^|Find /I "File(s)"`) Do 2>nul Set /A n2=%%f
Popd
>nul CHCP 1251
Set /A nDel=%n1%-%n2%
Echo %n1%-%n2%=%nDel% File(s) deleted
Pause
Exit /B
Для боевого использования уберите Echo перед Del
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.