11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110

Определить размер папки

07.01.2013, 14:44. Показов 43247. Ответов 47
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий модератора 
Сообщение выделено из темы:
Команда ROBOCOPY и размер папки


Спасибо всем! Получается!
Только я терь к другой немножко схеме подошёл , можно из этого кода выдрать токо то что считывает размер папки (с под папками) и выводит на экран?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.01.2013, 14:44
Ответы с готовыми решениями:

Посчитать размер папки
Есть код который по выбору показывает размер папки , но в нём какая то ошибка и он показывает размер той папки в которой находится! ...

Команда ROBOCOPY и размер папки
Как (если можно) в команде robocopy сделать чтобы вместо подробной инфы о всех файлах он показывал "Установка... Х% , ХХ.ХХ КБ из...

Как определить размер папки
Здравствуйте, формучане :) Пытаюсь определить размер папки скриптом php, но выходит довольно туго. Пробовал 2 способа - рекурсивно...

47
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
12.01.2013, 19:19
Студворк — интернет-сервис помощи студентам
Я к тому что эта конструкция лишена смысла. Лучше опишите детально и по порядку что требуется.
Вижу у Вас с разных тем объединять код не очень то и получается.

По поводу папки backup и mod -
1) можно просто временно перенести эти папки в другое место, тогда они не попадут под общий счет числа байтов;
2) можно подсчитывать (и затем суммировать через строковую арифметику) размер каждого подкаталога, кроме этих двух.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
12.01.2013, 22:10
Можно подсчитать весь размер, и вычесть из него размер этих двух, так легче
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.01.2013, 00:07
FraidZZ, одинаково сложно. Ведь в обоих случаях придется прибегать к строковой математике.
Общий размер папки то у ТС выходит за пределы числового типа для CMD.

Нет, мы конечно можем сразу урезать строки с числами при сложении, но это так сказать совсем способ не комильфо (правда, зато именно как Jeka_Osokin и хотел - самый короткий код ).
Но а вообще с арифметикой строк хоть и встречался, ни разу не работал и не разбирал ее. Может, там все и просто реализовать, особенно, если на рекурсии придумать (будет нечто похожее, что Вы, FraidZZ делали при привышении граничного времени (только отдельно для каждого из разрядов).
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
13.01.2013, 15:41  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
временно перенести
Ак они по 10-20 гигов весят! Пока это всё переносить... , там как-бы не комфортно
Цитата Сообщение от Dragokas Посмотреть сообщение
через строковую арифметику
Чё-то я ваще это в первый раз слышу...
Цитата Сообщение от FraidZZ Посмотреть сообщение
и вычесть из него размер этих двух
Как?
Цитата Сообщение от Dragokas Посмотреть сообщение
конструкция лишена смысла
Цитата Сообщение от Dragokas Посмотреть сообщение
объединять код не очень то и получается
Ну извините , я как-бы новичок и не много путаюсь...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.01.2013, 15:56
Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
Ак они по 10-20 гигов весят! Пока это всё переносить... , там как-бы не комфортно
Правый клик - "Переименовать" - сколько времени занимает? - То-то.

Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
Ну извините , я как-бы новичок и не много путаюсь...
Я к тому, что может Вам все таки стоит все собрать в одну тему и попросить поправить детально расписанное Вами полное задание.

Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
Чё-то я ваще это в первый раз слышу...
И я тоже.
Но попробовать можно =). Просто у Вас жесткое ограничение - писать как можно меньше кода. А это как раз идет в разрез. Поэтому пока сильно желанием не горю. Скажете опять - "почему так много кода". Хотя я наперед не знаю, как получится.
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
13.01.2013, 18:09  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
сколько времени занимает?
Там как-бы всё автоматизировано через командную строку...
Цитата Сообщение от Dragokas Посмотреть сообщение
попросить поправить
И какие мне тогда темы объединить?
Цитата Сообщение от Dragokas Посмотреть сообщение
Скажете опять
Не чё! Пофиг , пусть главное работает , а там посмотрим может можно укоротить...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.01.2013, 18:18
Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
Там как-бы всё автоматизировано через командную строку...
Разве командная строка не умеет делать тоже что и F2.
Когда переносишь увесистую папку в другое место на том же диске проходит максимум секунда (большая часть времени уйдет на прорисовку анимации, если это делать эксплорером .
Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
И какие мне тогда темы объединить?
Думаю, никакие. Прочитайте еще раз что я написал. Нужно продумать и внимательно расписать по пунктам целиком Вашу задачу, а потом создать новую тему (если к ее частям есть решения - указать ссылку на них).
Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
Не чё! Пофиг , пусть главное работает , а там посмотрим может можно укоротить...
Попросил у хорошего человека код на другом языке. Если он у него на рекурсии, то сделаем совсем короткий код.
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
13.01.2013, 19:45  [ТС]
Цитата Сообщение от Dragokas Посмотреть сообщение
Попросил у хорошего человека
Понятно , ждёмс...
Цитата Сообщение от Dragokas Посмотреть сообщение
проходит максимум секунда
Не получится Там когда размер определяется он затем переходит к показу размера папки mod или если выбран "errorlevel 6" то он определяет размер полной папки , так что если перед определением размера временно переносить папки mod и backup то при определении полного размера он будет писать меньше... (не знаю понятно ли я написал ) , ну короче посмотрим чё там ваш чел представит...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
13.01.2013, 20:52
Цитата Сообщение от Jeka_Osokin Посмотреть сообщение
то при определении полного размера он будет писать меньше...
Перенести папки обратно перед определением полного размера вера не позволяет?
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
13.01.2013, 23:17  [ТС]
Перенести папки обратно перед определением полного размера
Попробовал...
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
:gtada
set p=%u%
cd..
if exist "%~dp0"\mod move "%~dp0"\mod %cd%
if exist "%~dp0"\backup move "%~dp0"\backup %cd%
cd "%~dp0"
cls
echo.
echo  Пожалуйста подождите...
goto sco
 
:yefi
cls
echo.
echo                                   Установка
echo.
echo   Идёт подсчёт файлов и их размера...
set p=%u%\%m%
:sco
For /F "tokens=1-3" %%a IN ('Dir "%p%" /-C/S/A:-D') Do Set DirSize=!n2!& Set n2=%%c
Set DirSize=%DirSize:~0,-6%
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%p%" /-C /S /A:-D^|find /I "файлов"') Do (
set fi=%%a
)
if errorlevel 6 (
cd..
if exist "%~dp0"\mod move %cd% "%~dp0"\mod
if exist "%~dp0"\backup move %cd% "%~dp0"\backup
cd "%~dp0"
cls
echo.
echo                             Информация GTA IV
echo  Размер %DirSize% MB
echo  Установлена по пути:
echo  %u%
goto usmd
)
cls
echo.
echo                                   Установка
echo.
echo   Найдено !fi! файлов, размер которых %DirSize% MB
echo.
echo   Начать установку
echo   Удаление мода
echo   Назад
choice /C 123 /N
if errorlevel 3 goto re
if errorlevel 2 goto ud
if errorlevel 1 goto set
Вроде всё норм токо он всегда открывает (хоть выбрал хоть не выбрал errorlevel 6) только "установка" где размер и количество , а надо чтобы
если выбрал errorlevel 6 то открывал инфу о ГТА 4... вот...
P. S. зайду токо сёдне днём...
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
16.01.2013, 21:09  [ТС]
Чё там как оно...?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
16.01.2013, 22:03
Каким образом Вы можете выбрать Errorlevel 6.
Прокомментируйте немного Ваш код - что откуда должно переходить.
Странные переходы. Я вообще Goto не советую пользоваться. Это плохой стиль программирования.
Пишите метку, код подпрограммы, Exit /B
Если туда нужно перейти - Call :metka
Если нужно выйти из программы - Goto :eof или Exit /B
0
11 / 11 / 1
Регистрация: 31.08.2012
Сообщений: 110
19.01.2013, 09:25  [ТС]
"Главное меню"
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
:re
cd %~dp0
cls
setlocal enabledelayedexpansion
color 70
title v0.546 Время %time%
if not exist %u%\installmod.bat echo.& echo  Программа должна находится в папке с игрой (%u%)
echo.
echo  Russinan
echo  Установка
echo  Фиксация
echo  Запуск GTA IV
echo  Расположение
echo  Бэкап
echo  Инфо
echo  Выход
choice /C 12345678 /N
if errorlevel 8 exit
if errorlevel 7 goto i
if errorlevel 6 goto cb
if errorlevel 5 goto rs
if errorlevel 4 goto r
if errorlevel 3 goto fix
if errorlevel 2 goto in
if errorlevel 1 goto ru
Я там новый пункт добавил так что терь это не 6 ,а 7!
Там выбираешь 7 и переходит сюды:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
:i
title Информация
if exist %u% goto gtada
cls
echo.
echo  GTA IV не установлена
goto pk
:gtada
cd..
if exist %~dp0mod move %~dp0mod %cd%
if exist %~dp0backup move %~dp0backup %cd%
cd %~dp0
cls
echo.
echo  Пожалуйста подождите...
set p=%u%
goto sco
А выбираешь 2 то идёт сюда:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
:In
cd %~dp0
title Установка
cls
If not Exist "%m%\*.*" goto nofi
:yefi
cls
echo.
echo                                   Установка
echo.
echo   Идёт подсчёт файлов и их размера...
set p=%u%\%m%
:sco
For /F "tokens=1-3" %%a IN ('Dir "%p%" /-C/S/A:-D') Do Set DirSize=!n2!& Set n2=%%c
Set DirSize=%DirSize:~0,-6%
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%p%" /-C /S /A:-D^|find /I "файлов"') Do (
set fi=%%a
)
if errorlevel 6 (
cd..
if exist %~dp0mod move %~dp0mod %cd%
if exist %~dp0backup move %~dp0backup %cd%
cd %~dp0
cls
echo.
echo                             Информация GTA IV
echo  Размер %DirSize% MB
echo  Установлена по пути:
echo  %u%
goto usmd
)
cls
echo.
echo                                   Установка
echo.
echo   Найдено !fi! файлов, размер которых %DirSize% MB
echo.
echo   Начать установку
echo   Удаление мода
echo   Назад
choice /C 123 /N
if errorlevel 3 goto re
if errorlevel 2 goto ud
if errorlevel 1 goto set
А чем лучше "call"?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
22.01.2013, 15:14
Call какой бы создаёт подфункцию в программе, а гото - просто переход по метке. Использование гото считается плохим стилем.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
22.01.2013, 18:22
Goto (безусловный переход) вообще не существует как таковой в нек. современных языках.
Call и подпрограммы, функции (классы) - это общепринятый стиль структурного программирования,
не важно Batch это, либо язык высокого уровня.

Могу разве, что посоветовать почитать на счет этого авторитетные источники, но нужно ли.
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
22.01.2013, 18:31

Не по теме:

Цитата Сообщение от Dragokas Посмотреть сообщение
Могу разве, что посоветовать почитать на счет этого авторитетные источники
Страуструпа?



 Комментарий модератора 
Прекращаем оффтоп в темах!


Добавлено через 5 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
Batch это, либо язык высокого уровня.
Чем больше читаю здесь, тем для меня батч ближе к языкам высокого уровня...
0
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 4
14.10.2017, 19:57
Хватит обманывать своими МБ, если не знаете матиматики и информатики так и скажите. 1 МБ это не 1 000 000 байт, которые вы округляете и пишите МБ.
Вычисление степени числа
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@Echo Off
Setlocal EnableDelayedExpansion
Set /A num=3
::Вычисляем 3 в 4-й степени
Call :Stepping num 4
Echo %num%
pause
exit /B
 
:Stepping %1 - Переменная с числом %2 - Степень
set /A s=%2
if %s%==0 (Set /A %1=1& exit /b)
if %s%==1 exit /b
set step=%3
if not defined step set step=!%1!
set /A s-=1
set /A %1*=%step%
Call :Stepping %1 %s% %step%
exit /b
Не читал всё, может кто-то и верно считает.

Добавлено через 1 час 2 минуты
Цитата Сообщение от Dragokas Посмотреть сообщение
Set DirSize=%DirSize:~0,-6%
Вместо этого подствить
Windows Batch file
1
Set /A DirSize=DirSize/1024/1024
и получите МБ
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
14.10.2017, 20:39
ANDRAON, оно то конечно так, но CMD выдаст ошибку при превышении объема папки 2047 МБ.
Т.е. в идеале, нужно учесть и этот момент.
1
0 / 0 / 0
Регистрация: 23.02.2016
Сообщений: 10
06.12.2017, 03:05
@Echo Off
SetLocal enabledelayedexpansion
Set D=l:\Bash
For /F "tokens=1-3" %%a IN ('Dir "%D%" /-C/S/A:-D') Do Set DirSize=!n2!& Set n2=%%c
CAll :var_count "%DirSize%" VarC
Set /A VarC-=6
if %VarC% LEQ 0 (Set DirSizeMB=0) else (Set DirSizeMB=%DirSize:~0,-6%)
if %VarC% GEQ 1 Set DirSizeMB=%DirSizeMB%,!DirSize:~%VarC%,2 !
Echo Size of %D% is %DirSizeMB% MB.
pause& Goto :eof

:var_count %1-Var.Value %2-Var.Count.Result
::Определяет длину переменной
set var=%~1
if not defined var exit /b
set var=%var:~1%
set /a %~2+=1
call :var_count "%var%" %~2
exit /b

Подскажите, пжлста, как бы вот выполнение этой команды в текстовик записать?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
06.12.2017, 03:26
Windows Batch file
1
Echo Size of %D% is %DirSizeMB% MB. > file.txt
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2017, 03:26

Определить размер папки на компьютере в байтах
Как можно проще всего програмно, например при нажатии на кноку определить размер папки ?

Размер папки
Всем привет! Нужно узнать развер папки! С примером пожалуйста!

Размер папки
Доброго времени суток! Подскажите как можно узнать размер выбранного каталога? в интернете ни чего нет нормального Заранее всем...

РАЗМЕР ПАПКИ
Требуется определить размер папки на диске Использую функции прописаные здесь: http://www.delphiworld.narod.ru/base/get_dir_size.html...

Размер папки .svn
Добрый день. Использую tortoisesvn. Очень быстро растет скрытая папка .svn. Как ее можно очищать время от времени? На компе мало места.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru