Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Foreigner, Я в полном восторге от того, что поиск "File(s)" в таком контексте годится для системы с русскоязычным интерфейсом.
Вот еще вариант без findstr
Код: Выделить весь код
@echo off
cls
Set "In=z:\ProgramData\rrr"

SetLocal EnableExtensions EnableDelayedExpansion

If Exist "%In%" (
	for /f "usebackq tokens=3" %%i in (`dir /s /-c "%In%" 2^>nul`) do Set A=!B! & Set B=%%i
	Set /A A=!A!/1048576
	Echo !A!Mb in %In%
) Else (
	Echo Not Exist %In%
)
Однако, при переводе байт в мегабайты по моему скромному мнению не совсем корректно в батнике отображать результат деления размера в байтах на 1048576 (то есть 1024^2) так как батник работает в целых числах и результат, например, 10.99 будет отображаться как 10.
Можно попытаться для корректности отображения применить такое выражение для перевода в мегабайты с десятичным округлением вместо имеющегося
Код: Выделить весь код
Set /A A=^(^(!A!*10^)/1048576+5^)/10

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 02-04-2016 в 19:47.


Отправлено: 18:15, 02-04-2016 | #4