Командная строка windows размер файла

cmd узнать размер файла

Как узнать размер папки через командную строку? / How check size folder in command prompt?

Узнать размер папки в Microsoft Windows достаточно просто через графический интерфейс.

Для этого, достаточно выделить интересующую папку левой кнопкой мыши, далее нажать правой кнопкой мыши и выбрать пункт Свойства

В окне Свойства указан размер Папки.

Узнать размер папки через командную строку немного сложнее.

Для этого, необходимо создать . cmd файл с содержимым:

@echo off

setlocal enableextensions disabledelayedexpansion

set «source=c:Folder»

if not defined target set «source=%cd%»

set «size=0»

for /f «tokens=3,5» %%a in (‘

dir /a /s /w /-c «%source%»

^| findstr /b /l /c:» «

‘) do if «%%b»==»» set «size=%%a»

echo % size %

Где C : Folder — может быть заменен на интересующую вас папку. Отображение размера будет выполнено в байтах.

Learn the size of the folder in Microsoft Windows is quite simple through the graphical interface. To do this, it is enough to select the folder of interest with the left mouse button, then right mouse button click and click Properties


The Folder size is specified in the Properties.

Finding out the size of a folder via the command line is a bit more complicated.

To do this, you must create .cmd file with content:

rem @echo off

setlocal enableextensions disabledelayedexpansion

set «source=c:Folder»

if not defined target set «source=%cd%»

set «size=0»

for /f «tokens=3,5» %%a in (‘

dir /a /s /w /-c «%source%»

^| findstr /b /l /c:» «

‘) do if «%%b»==»» set «size=%%a»

echo %size%

Where C:Folder — can be replaced to the required folder. The size will be displayed in bytes.

Простейший способ получить размер файла из командной строки Windows:

из хелпа по команде For в Cmd:

zI — переменная %I расширяется до размера файла

Аналогично для даты (модификации) файла:

из хелпа по команде For в Cmd:

tI — переменная %I расширяется до даты /времени файла

А вообще команда for /? очень полезная.

Как узнать размер и дату файла из командной строки : 12 комментариев

Добрый день
На команду:
for %i in (1.txt) do echo %

Windows XP3 сообщает:

ti was unexpected at this time.

Подскажите пожалуйста, что в команде указанно не верно.

@ Саша:
вы исполняете эту команду из пакетного файла?

Не из пакетного файла это вообще не будет работать.
А в пакетном файле к переменным внутри FOR добавляется еще один %

for %%i in (1.txt) do echo %%

Совершенно верно. В статье речь только о командной строке.

это дата изменения файла, а не создания…

Добрый день!
Помогите, пожалуйста.
Задача такая, нужно выбрать из каталога файлы *.log с сегодняшней датой и пробежаться по ним командой find….

ta «%%a»
exit
:cmp
if %1==%date% find «chto_ishem» %3
exit /b

А не подскажете решение для такой задачки? Нужно сравнить два файла и заменить более старый более новым (проще говоря, выполнить обновление). Проблема в том, что сравнение дат как строк дает неверный результат для случая, скажем: «06.10.2011» будет меньше «07.09.2011» (6 октября меньше 7 сентября).

@ Гость:
Т.к. универсальный метод работы с датами из командной строки Windows сделать довольно-таки проблематично из-за различных региональных настроек, я бы сделал так: скопировал оба файла под разными именами (естественно) в одну папку, отсортировал по дате, удалил самый старый, оставшийся перенес куда надо под нужным именем. Это всё алгоритм, естественно, для выполнения из cmd/bat файла.
Чуть позже будет статья как удалять самые старые файлы, что-то подобной этой статье, но под Windows

Читайте также:  Процесс бездействие системы грузит процессор windows

Как узнать размер папок в Windows и сделать экспорт этой информации в txt ?

Может понадобится, если Вы захотите проверить, что на диске больше всего занимает места. Узнать размер папок в Windows можна с помощью скрипта на cmd.

Предлагаю ознакомиться с предложениями моих партнёров

В данном примере, в файл D: empautoskinfo.txt будет записана информация о размере директории E:vektor6.local, и всех вложеных в неё папок и подпапок

Если Вам не нужна подробная информация о размере вложеных поддиректориях, надо закоменировать строку

Будет выведена информация о размере указаной директории и размеры вложеных в неё папок

Ну а если вам надо записать в файл размер только одной указаной в начале директории, то закомментируйте ещё и эту строку

Получить размер файла

Подскажите как получить размер самого большого файла в папке
батник получить размер самого большого файла в папке

Определить размер файла, и если этот размер меньше определенного, скопировать этот файл в другой каталог
Задача: определить размер файла по указанному пути, и если этот размер меньше определенного.

Получить размер папки, за исключением некоторых файлов
Нужна помощь в отладке скрипта получения размера содержимого папки Temp, за исключением.

Получить максимальный размер из высоты и ширины картинки
Есть ImageMagick. Используя identify можно получить вывод о свойствах картинки, в котором есть и её.

Решение

В пакетном файле:

В командной строке:

обязательно ли для этого использовать цикл если имя файла в момент запуска батника известно?
сорри не увидел отредактированное сообщение

и все таки переменная size пуста

Решение

В командной строке только с использованием цикла.

Да ну! Вы, очевидно, не так делаете. Вот так получите значение размера в переменную:

Добавлено через 19 часов 43 минуты
если я правильно понял то числовое значение получим только так
set /a size=%%

ADMIB, что Вы там «химичите»? Зачем Вам ещё ключ «/a»? Вы же не проверяете, будет ли это значение числом или нет? «Официально» заявляю, что это значение, если оно установится, всегда будет числом, и ключ «/a» излишен. У Вас есть два работающих варианта кода, неужели их нельзя просто проверить, не внося «отсебятины»? Если Вам нужно дальнейшее использование переменной «size», то опишите это словами, и Вам код дополнят.

Кстати на случай, если файл будет отсутствовать, и, соответственно, переменная «size» не будет установлена, лучше писать так:

Узнать размер папки из командной строки Windows

возможно ли в Windows получить размер папки из командной строки без использования какого-либо стороннего инструмента?

Я хочу тот же результат, что и при щелчке правой кнопкой мыши на папке в проводнике Windows → свойства.

14 ответов:

вы можете просто добавить размеры рекурсивно (ниже приведен пакетный файл):

однако, это имеет несколько проблем, потому что cmd ограничивается 32-разрядной целочисленной арифметикой со знаком. Так что он получит размеры выше 2 гиб неправильно 1 . Кроме того, он, вероятно, будет подсчитывать символические ссылки и соединения несколько раз, поэтому в лучшем случае это верхняя граница, а не истинный размер (у вас будет эта проблема с любым инструментом).

если вы хотите его красивее:

вы можете использовать это непосредственно с cmd :

1 у меня есть частично законченная библиотека bignum в пакетных файлах где-то, которая, по крайней мере, получает право на целочисленное сложение произвольной точности. Я должен действительно освободить его, я думаю : -)

есть встроенный инструмент Windows для этого:

это будет печатать много ненужной информации, но конец будет размер папки, как это:

Если вам нужно включить скрытые папки добавить /a .

Я предлагаю скачать утилиту DU из пакета Sysinternals, предоставленного Microsoft по этой ссылке http://technet.microsoft.com/en-us/sysinternals/bb896651

пока вы находитесь на нем, взгляните на другие утилиты. Они являются спасателем жизни для каждого профессионала Windows

Читайте также:  Intel core i3 8100 driver windows 10

то же самое, но только Powershell:

Это должно привести к следующему результату:

Если у вас установлен git на вашем компьютере (становится все более распространенным) просто откройте MINGW32 и введите: du folder

этот код проверен. Вы можете проверить это еще раз.

Я думаю, это будет работать только в том случае, если каталог довольно статичен и его содержимое не изменяется между выполнением двух команд dir. Возможно, способ объединить это в одну команду, чтобы избежать этого, но это сработало для моей цели (я не хотел полного списка; просто резюме).

GetDirSummary.летучая мышь c:\temp

Я рекомендую использовать https://github.com/aleksaan/diskusage утилита. Очень просто и полезно. И очень быстро.

просто введите в командную строку

и получить список папок аранжировка в размере

этот пример был выполнен в 272ms на HDD.

вы можете увеличить глубину вложенных папок для анализа, например:

и получить размеры не только для выбранных папки, но и подпапки

* 3,5 ТБ на сервере было проверено на наличие 3m12s

Я получил du.exe С моим распределением git. Другое место может быть вышеупомянутым Microsoft или Unxutils.

как только вы получили ду.exe на вашем пути. Вот твой fileSizes.bat : -)

Я думаю, что ваш единственный вариант будет diruse (очень поддерживаемое решение 3rd party):

окна командной строки является unfortuntely довольно строгие, можно также установить программа который является мечтой использовать по сравнению с cmd. Это даст вам доступ к портированному инструменту Unix du, который является основой diruse на windows.

Извините, я не смог ответить на ваши вопросы напрямую с помощью команды вы можете запустить на собственном cli.

изменить C:\Program файлы в любую папку, которую вы хотите, и измените %A на %%A при использовании в пакетном файле

он возвращает размер всей папки, включая вложенные папки и скрытые и системные файлы, и работает с папками более 2GB

Он пишет на экране, поэтому вам придется использовать промежуточный файл, если вы этого не хотите.

Я решил аналогичную проблему. Некоторые из методов на этой странице медленны, а некоторые проблематичны в многоязычной среде (все они предполагают английский язык). Я нашел простой обходной путь с помощью vbscript в cmd. Он испытан в W2012R2 и W7.

Он установил переменную окружения S_. Вы можете, конечно, изменить последнюю строку, чтобы непосредственно отобразить результат, например

вы можете использовать его как подпрограмму или как standlone cmd. Параметр-имя тестируемой папки, закрытой в двойные кавычки.

:: получить ряд строк, которые возвращает команда Dir (/- c для устранения разделителей чисел: . ,) [«Tokens = 3» смотреть только на третий столбец каждой строки в Dir]

FOR /F «tokens=3» %%a IN (‘dir /-c «%folderpath%»‘) DO set /a i=!i!+1

номер предпоследней строки, где находится количество байтов суммы файлов:

наконец, получить количество байтов в предпоследней строке 3 — го столбца:

поскольку он не использует поиск слов, он не будет иметь языка проблемы.

ограничения:

  • работает только с папками размером менее 2 ГБ (cmd не обрабатывает номера более 32 бит)
  • не считывает количество байтов внутренних папок.

самый простой способ получить только общий размер-powershell, но все же ограничен тем фактом, что имена путей длиной более 260 символов не включены в общий

Узнать размер папки из командной строки Windows

Можно ли в Windows сделать папку’s размер из командной строки без использования 3-й партии инструмент?

Я хочу такой же результат, как вы получили бы при нажатии правой кнопкой мыши на папке в проводнике Windows → свойства.

Вы можете просто добавить размеры рекурсивно (следующий пакетный файл):

Однако, это имеет несколько проблем, потому что команду » cmd » ограничено 32-разрядное целое число арифметических операций. Так он будет получать размеры более 2 Гб не так 1 . Кроме того, он, вероятно, считать символьные ссылки и соединения несколько раз, так что’ы в лучшем качестве верхнего предела, а не истинный размер (вы’будете иметь эту проблему с любым инструментом, однако).

Читайте также:  Kms активатор windows 10 проблемы

Альтернатива в PowerShell:

Если вы хотите, чтобы он красивше:

Вы можете использовать это непосредственно из «ЦМД»:

1 У меня есть частично готовые библиотеки bignum где-то пакетные файлы, которые, по крайней мере получает произвольной точности целое сложение. Я действительно должен отпустить ее, я думаю 🙂

Есть встроенный инструмент Windows для этого:

Это позволит печатать много ненужной информации, но конец будет размер такой папки:

Если вам нужно включить скрытые папки добавить /а .

Предлагаю скачать утилита дю от компании Sysinternals Люкс, предоставляемый Microsoft по этой ссылке http://technet.microsoft.com/en-us/sysinternals/bb896651

В то время как вы на него, взгляните на другие коммунальные услуги. Они являются спасительным для всех Windows профессиональная

Только такой же, но в PowerShell:

Это должно привести к следующему результату:

Если у вас есть ГИТ, установленных в компьютере (все более и более распространены) просто откройте MINGW32 и типа: дю папку

Я рекомендую использовать утилиту https://github.com/aleksaan/diskusage . Очень простая и полезная. И очень быстро.

Просто введите в командной оболочке

и получаем список папок расставлена по размерам в 1.| Реж: d:/go | размер: 325.72 Мб | глубина: 1 2.| Реж: d:/Books | размер: 14.01 Мб | глубина: 1

Этот пример был выполнен в 272ms на HDD.

Вы можете увеличить глубину подпапки для анализа, например:

и вам размеров не только для выбранных папок, а также для ее подпапок в 1.| Реж: d:/go | размер: 325.72 Мб | глубина: 1 2.| Реж: d:/go/pkg | размер: 212.88 Мб | глубина: 2 3.| Реж: d:/go/src | размер: 62.57 Мб | глубина: 2 4.| Реж: d:/go/bin | размер: 30.44 Мб | глубина: 2 5.| Реж: d:/Books/Chess | размер: 14.01 Мб | глубина: 2 6.| Реж: d:/Books | размер: 14.01 Мб | глубина: 1 7.| Реж: d:/go/api | размер: 6.41 Мб | глубина: 2 8.| Реж: d:/go/test | размер: 5.11 Мб | глубина: 2 9.| Реж: d:/go/doc | размер: 4.00 Мб | глубина: 2 10.| Реж: d:/go/misc | размер: 3.82 Мб | глубина: 2 11.| Реж: d:/go/lib | размер: 358.25 КБ | глубина: 2

* 3.5 ТБ на сервере был отсканирован для 3m12s

Здесь приходит код PowerShell я пишу список размер и количество файлов для всех папок в текущей директории. Не стесняйтесь повторно использовать или изменить согласно вашей потребности.

Я думаю, это будет работать только если каталог является статическим и его содержание Дон’т изменение между выполнением двух команд реж. Может, есть способ все это объединить в одну команду, чтобы избежать этого, но это работает для моих целей (я не’т хотите полный список, только резюме).

GetDirSummary.летучая мышь c:\temp

Этот код протестирован. Вы можете проверить его снова.

Так вот решение для ваших запросов в порядке, вы изначально просили. Это даст размер читаемости без ограничений размер всех переживает. Совместимость с Win Vista или новее. ХР доступна, только если установлен Robocopy-это. Просто перетащите папку на этот пакетный файл или использовать лучше способа, указанного ниже.

« @Эхо выключено команда setlocal enabledelayedexpansion набор «и vSearch=файлы :»по

На %%Я В (%*) сделать ( набор «и vSearch=файлы :»по Для /Л %%М (1,1,2) делать ( к /ф «в usebackq жетонов=3,4 delims=: » С %%а ( программы » По%%Я» и » По%%Я» и /Е /Л /Н /НДЛ /НФЛ ^| обнаружить «!vSearch!» В) делать ( если /я%%м, что»==»и 1″ и ( набор «и filecount=%%А» ;vSearch=байт: Аскорутин набор «и ) еще ( набор «и foldersize=%%в%%в” ) ) ) папка Эхо: %%

nxi FileCount: !filecount! Foldersize: !foldersize! РЭМ удалить слово на «РЭМ» в файл из строки ниже выводить в txt Папка РЭМ Эхо: %%

nxi FileCount: !filecount! Foldersize: !foldersize!>>Folder_FileCountandSize.txt ) пауза « Чтобы иметь возможность использовать этот пакетный файл, удобно положить его в папку sendto. Это позволит вам Правой Кнопкой Мыши папку или Выбор папки, нажмите на кнопку «Отправить», а затем выберите этот пакетный файл.

Чтобы найти папку «sendto» на свой компьютер простейшим образом-открыть cmd и скопируйте в эту строку как есть.

Оцените статью