BorlandIMHO
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору YuS_2 Цитата: подобная задача для CMD не по силам | С привлечением стороннего калькулятора (например Command Line Calculator) - по силам. Причём размер всех файлов в папке dir выдаёт предпоследней строкой, а с параметром /s выдаёт также размеры файлов по всем подпапкам. То, что размер в байтах - фигня, пересчитать можно хоть в кило-, хоть в тера-... Единственно, что убивает - это формат выдачи с разделением на группы символом с кодом 160 (кстати, такой же формат у tasklist) . Как его перевести в нормальное число - не придумал... А использование специализированной утилиты - оно да, оно всегда решает. metatrop Цитата: нечто похожее (но хуже по возможностям) - du.exe из набора gnu/msys утилит | du из комплекта CoreUtils в комплекте с tail из того же комплекта выдают вполне корректный результат в байтах: Код: c:\Utils\CoreWin32\bin\du -b "d:\!\xxx" |c:\Utils\CoreWin32\bin\tail --lines=1 - |
Цитата: C:\Users\Borland>c:\Utils\CoreWin32\bin\du -b "d:\!\xxx" |c:\Utils\CoreWin32\bin\tail --lines=1 - 152098559302 d:\!\xxx | Moxer, как вариант listfolders.cmd: Код: @echo OFF set "ROOTFOLDER=x:\Any path\to\Any folder" set "LOGFILE=%ROOTFOLDER%\result.log" 1>nul 2>&1 pushd "%ROOTFOLDER%" &&popd||call :ABORT "Папка "%ROOTFOLDER%" не существует!" 1>"%LOGFILE%" echo Foldername Size in bytes call :PROCESSFOLDER "%ROOTFOLDER%" goto :EOF :PROCESSFOLDER for /f "usebackq tokens=1" %%A in (`c:\Utils\CoreWin32\bin\du -b "%~1" ^|c:\Utils\CoreWin32\bin\tail --lines=1 -`) do 1>>"%LOGFILE%" echo %~f1 %%A pushd "%~1" for /f "usebackq tokens=*" %%B in (`dir /B /A:D`) do call :PROCESSFOLDER "%%B" popd goto :EOF :ABORT echo Аварийное завершение работы! echo %~1 pause exit | В качестве ROOTFOLDER может использоваться, в том числе, корень диска (set "ROOTFOLDER=x:\") или папка на сервере (set "ROOTFOLDER=\\server\share"). А если в начало лога нужно добавить именно дерево папок - для этого у мокрософта с древних времён существует специательная утиль tree
| Всего записей: 2574 | Зарегистр. 12-10-2006 | Отправлено: 23:25 20-12-2017 | Исправлено: BorlandIMHO, 23:39 20-12-2017 |
|