![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Размер каталога |
|
|
CMD/BAT - [решено] Размер каталога
|
Новый участник Сообщения: 5 |
Добрый день, форумчане, помогите пожалуйста со скриптом! Есть скрипт (так же с форума
![]()
Помогите пожалуйста сделать условие: Если каталог имеет размер больше 1мб, то вызывается vbs скрипт, иначе просто закрытие! Пробовал писать нечто подобное (If "dirsize" GEQ 1048576 START /WAIT CScript... else), но чет я не силен в шеле... ( Заранее Спасибо! |
|
Отправлено: 08:34, 22-02-2012 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата sov44:
Будет проще сосчитать размер всей папки и вычесть из него размер этого(этих) файла(файлов). Размер файлов можно определить любым известным способом. Например: |
|
Последний раз редактировалось gora, 17-04-2012 в 15:19. Отправлено: 15:14, 17-04-2012 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2205
|
Профиль | Отправить PM | Цитировать Есть две переменные содержащие вычисляемые размеры объектов. Размеры могут превышать 2 ГБ.
Нужно их перевести в МБ с точностью до сотых и поместить в новые переменные. Пример: num1=4000000000 num2=6000000000 num1MB=3814,69 num2MB=5722,04 |
Последний раз редактировалось sov44, 06-03-2013 в 19:48. Причина: правка ТЗ Отправлено: 21:26, 05-03-2013 | #22 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать C применением скрипта, который Вы удалили из поста.
@Echo Off SetLocal enabledelayedexpansion set num1=4000000000 set num2=6000000000 Call :_convert %num1% num1MB Call :_convert %num2% num2MB echo %num1% %num1MB% Мб echo %num2% %num2MB% Мб pause exit /b :_convert Set Cnt=%1 Call:UDIV2 %Cnt% dirsizeMB 20 Call:UMUL2 %dirsizeMB% CntT 20 Call:SUM %Cnt% -%CntT% ost Set/a $.mb=(%ost%*100)/(1024*1024) Set "$.mb=0%$.mb%"& Set "$.mb=!$.mb:~-2!" Set %2=%dirsizeMB%,%$.mb% GoTo :EOF :SUM %uint% %uint% %VarRes% ::---------------------------- SETLOCAL EnableDelayedExpansion (set "$a=%~1"& set "$b=%~2" if "!$a:~,1!"=="-" (set "$az=-"&set "$a=!$a:-=!") else set "$az=" if "!$b:~,1!"=="-" (set "$bz=-"&set "$b=!$b:-=!") else set "$bz=" for /f "tokens=* delims=0" %%i in ("!$a:~-9!") do set/a "$al=%%i+0"&set/a "$ah=!$a:~,-9!+0" for /f "tokens=* delims=0" %%i in ("!$b:~-9!") do set/a "$bl=%%i+0"&set/a "$bh=!$b:~,-9!+0" set/a "$sl=(!$az!!$al!)+(!$bz!!$bl!)"&set/a $p=!$sl:~,-9!+0&set/a "$sl=!$sl!-(!$p!000000000)" set/a "$sh=(!$az!!$ah!)+(!$bz!!$bh!)+(!$p!+0)" if !$sh! gtr 0 if !$sl! lss 0 set/a $sh-=1& set/a "$sl=(1000000000+!$sl!)" if !$sh! lss 0 if !$sl! gtr 0 set/a $sh+=1& set/a "$sl=(!$sl!-1000000000)" for /f "delims=0123456789" %%i in ("!$sh!!$sl!") do set "$z=%%i" if !$sh! equ 0 if !$sl! equ 0 set "$z=0" set "$sl=00000000!$sl:-=!" ) for /f "tokens=* delims=0" %%i in ("!$sh:-=!!$sl:~-9!") do ENDLOCAL& set "%~3=%$z%%%i" GoTo:EOF :UDIV2 %uint% %VarRes% %uint% ::---------------------------- SETLOCAL EnableDelayedExpansion (set "$a=%~1"& set/a "$c=%~3+0"& if !$c! equ 0 set "$c=1" for /f "tokens=* delims=0" %%i in ("!$a:~-9!") do set/a "$al=%%i+0,$ah=!$a:~,-9!+0" for /l %%i in (1,1,!$c!) do ( set/a "$p=$ah&1,$ah>>=1,$al>>=1" if !$p!==1 set/a $al=$al+500000000) set "$z="& if !$ah! equ 0 if !$al! equ 0 set "$z=0" ) for /f "tokens=* delims=0" %%i in ("!$ah!!$al!") do ENDLOCAL& set "%~2=%$z%%%i" GoTo:EOF :UMUL2 %uint% %VarRes% %uint% ::---------------------------- (SETLOCAL EnableDelayedExpansion set %~2=%~1& set/a "$c=%~3+0"& if !$c! equ 0 set "$c=1" for /l %%i in (1,1,!$c!) do Call:SUM !%~2! !%~2! %~2 for /f %%i in ("!%~2!") do ENDLOCAL& set "%~2=%%i" ) GoTo:EOF |
Отправлено: 19:59, 06-03-2013 | #23 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] получить размер каталога с подкаталогами | Loki3D | Скриптовые языки администрирования Windows | 64 | 12-12-2014 15:14 | |
PowerShell - [решено] Удаление каталога | Negativ | Скриптовые языки администрирования Windows | 2 | 25-01-2011 16:13 | |
Интерфейс - [решено] Изменился размер кнопки "свернуть все окна". Как вернуть прежний размер? | norok | Microsoft Windows 7 | 6 | 01-11-2010 22:59 | |
Прочие - Создание каталога CD-дисков | fooms | Программное обеспечение Windows | 9 | 02-12-2008 00:17 | |
Вставка каталога страниц | Rudy | Вебмастеру | 9 | 30-10-2005 15:33 |
|