Cmd как определить размер файла

Обновлено: 28.06.2024

Отображает список файлов и подкаталогов каталога. Если используется без параметров, эта команда отображает метку тома диска и серийный номер, а затем список каталогов и файлов на диске (включая имена и дату и время последнего изменения). Для файлов Эта команда отображает расширение имени и размер в байтах. Эта команда также отображает общее число указанных файлов и каталогов, их совокупный размер и свободное место (в байтах), оставшееся на диске.

команда dir также может запускаться из консоли восстановления Windows с использованием различных параметров. дополнительные сведения см. в разделе Windows среды восстановления (WinRE).

Синтаксис

Параметры

  • d — каталоги
  • h — скрытые файлы
  • s — системные файлы
  • l — точки повторного анализа
  • r — файлы только для чтения
  • a — файлы, готовые к архивации
  • я — нет индексированных файлов содержимого
  • n -в алфавитном порядке по имени
  • e -в алфавитном порядке по расширению
  • сначала группировать каталоги
  • s -по размеру, самый маленький первый
  • d -по дате и времени, сначала старейшие
  • Используйте - префикс, чтобы изменить порядок сортировки на обратный
  • c — создание
  • Последний доступ
  • w — Последнее написанное

Комментарии

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

Можно использовать подстановочные знаки (* или ?) для представления одного или нескольких символов имени файла и отображения подмножества файлов или подкаталогов.

Можно использовать подстановочный знак *, чтобы заменить любую строку символов, например:

dir *.txt Список всех файлов в текущем каталоге с расширениями, которые начинаются с .txt, например .txt,. txt1, .txt_old.

dir read *.txt Список всех файлов в текущем каталоге, начинающихся с "Read" и с расширениями, которые начинаются с .txt, например .txt, txt1 или .txt_old.

dir read *.* Перечисляет все файлы в текущем каталоге, которые начинаются с любого расширения.

Подстановочный знак звездочки всегда использует короткое сопоставление имен файлов, поэтому могут возникнуть непредвиденные результаты. Например, следующий каталог содержит два файла (t. txt2 и t97.txt):

Можно ожидать, что при вводе dir t97\* будет возвращаться файл t97.txt. Однако ввод dir t97\* возвращает оба файла, так как подстановочный знак звездочки соответствует файлу t. txt2 для t97.txt с использованием его краткого сопоставления имен T97B4

1.TXT. Аналогичным образом при вводе del t97\* будут удалены оба файла.

Можно использовать вопросительный знак (?) в качестве замены для одного символа в имени. Например, введите dir read. txt список всех файлов в текущем каталоге с расширением .txt, которые начинаются с Read и следуют до трех символов. Сюда входят Read.txt, Read1.txt, Read12.txt, Read123.txt и Readme1.txt, но не Readme12.txt.

При использовании параметра/a с более чем одним значением в атрибутах эта команда отображает имена только тех файлов, которые имеют все указанные атрибуты. Например, при использовании /a с атрибутами r и -h (с помощью /a:r-h или /ar-h ) Эта команда отображает только имена нескрытых файлов только для чтения.

Если указать более одного значения SortOrder , эта команда сортирует имена файлов по первому критерию, затем по второму критерию и т. д. Например, если вы используете /o с параметрами e и -s для SortOrder (с помощью /o:e-s или /oe-s ), эта команда сортирует имена каталогов и файлов по расширению с самым большим первым, а затем отображает окончательный результат. Сортировка по алфавиту по расширению приводит к тому, что имена файлов без расширений отображаются первыми, затем имена каталогов и имена файлов с расширениями.

При использовании символа перенаправления ( > ) для отправки выходных данных команды в файл или при использовании канала ( | ) для отправки выходных данных команды в другую команду необходимо использовать /a:-d и /b для вывода списка только имен файлов. Можно использовать filename с /b и /s , чтобы указать, что эта команда будет искать в текущем каталоге и его подкаталогах все имена файлов, соответствующие имени файла. Эта команда выводит только имя диска, имя каталога, имя файла и расширение имени файла (по одному пути на строку) для каждого найденного файла. Прежде чем использовать канал для отправки выходных данных команды в другую команду, необходимо задать переменную среды TEMP в файле Autoexec. NT.

Примеры

Чтобы отобразить все каталоги друг за другом, в алфавитном порядке, в расширенном формате и приостанавливать после каждого экрана, убедитесь, что корневой каталог является текущим каталогом, и введите:

Выходные данные содержат корневой каталог, подкаталоги и файлы в корневом каталоге, включая расширения. Эта команда также выводит имена подкаталогов и имена файлов в каждом подкаталоге дерева.

Чтобы изменить предыдущий пример так, чтобы в dir отображались имена и расширения файлов, но имена каталогов не указаны, введите:

Чтобы напечатать список каталогов, введите:

При указании PRN список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить PRN на имя нужного порта.

Чтобы отобразить список всех имен файлов с расширением .txt во всех каталогах на диске C, введите:

Команда dir отображает в расширенном формате алфавитный список совпадающих имен файлов в каждом каталоге, который приостанавливается при каждом заполнении экрана до тех пор, пока не будет нажата любая клавиша для продолжения.

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

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

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


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

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

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

@echo off

setlocal enableextensions disabledelayedexpansion

echo % size %

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

echo %size%

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

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

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

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

А вообще команда 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….

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

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

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

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

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

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

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

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

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

Я хочу, чтобы пакетный файл, который проверяет, что filesize из файла.

если он больше, чем %somany% kbytes, он должен перенаправляться с GOTO в другое место.

Если имя файла используется в качестве параметра для пакетного файла, все что вам нужно-это %

z1 (1 означает первый параметр)

Если имя файла не является параметром, вы можете сделать что-то вроде:

z1 расширяется до размера первого аргумента в пакетном файле. См.

мне нравится ответ @Anders, потому что объяснение секретного соуса %

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

@Anders работал вокруг этого, используя FOR , что является отличным исправлением 1-liner для проблема, но, это несколько сложнее читать.

вместо этого мы можем вернуться к более простому ответу с %

z1, используя CALL . Если у вас есть имя файла, хранящееся в переменной среды, оно будет становиться %1 если вы используете его в качестве параметра процедуры в пакетном файле:

Я предпочитаю использовать функцию DOS. Мне так чище.

если %file% является входным параметром, вы можете использовать %

zN , где N - номер параметра.

Е. Г. а test.bat содержащих

отобразит размер первого параметра, поэтому, если вы используете" test myFile.txt " он отобразит размер соответствующего файла.

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

Сохранить как filesize.vbs и введите в командной строке:

использовать for петля (в пакете), чтобы получить обратный результат.

создайте однострочный пакетный файл GetFileSize.bat, содержащий

тогда называй это

вы даже можете создать свой тестовый файл на лету, чтобы устранить надоедливый необходимый файл, обратите внимание на двойной процент в заявлении echo:

Это решение является antispaghetti. Так мило. Тем не менее, больше дисков пишет. Проверьте количество использования.

просто увидел этот старый вопрос, глядя, есть ли у Windows что-то встроенное. Вещь

z-это то, о чем я не знал, но не применим для меня. Я закончил с Perl one-liner:

Это было мое решение для оценки размеров файлов без использования VB/perl / etc. и придерживаясь собственных команд оболочки windows:

Не самое чистое решение, но оно выполняет свою работу.

после нескольких итераций" try and test " я нашел способ (все еще не присутствует здесь) получить размер файла в переменной цикла (не параметр командной строки):

важно отметить, что предел INT32 пакета: 'недопустимое число. Числа ограничены 32-битной точностью.'

попробуйте следующие утверждения:

любое число, большее значения max INT32, нарушит скрипт! Видя, как размер файла измеряется в байтах, скрипты будут поддерживать максимальный размер файла около 255.999999997615814 МБ !

Существует ли команда Windows, которая выведет размер указанного файла в байтах, например, так?

Я знаю, что команда dir выводит эту информацию, но также выводит и другую информацию.

Я мог бы легко написать такую программу, но я бы предпочел использовать встроенную команду Windows, если это возможно, или только ту, которая доступна в новой установке Windows XP.

Если вы находитесь в пакете script, вы можете использовать трюки переменных аргументов, чтобы получить размер файла:

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

в командной строке для всех вариантов сумасшедших переменных. Также см. эту статью для получения дополнительной информации.

Edit: Это работает только в Windows 2000 и более поздних версиях

Если вы не хотите делать это в пакете script, вы можете сделать это из командной строки следующим образом:

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

Отобразит размер, имя файла для каждого .DOC файла.

Используйте функцию, чтобы снять некоторые ограничения в операторе

z . Это особенно полезно с циклом for :

Команда forfiles запускает команду c для каждого файла m в каталоге p .

Переменная @fsize заменяется размером каждого файла.

Если файл C:\Temp\file1.txt равен 27 байтам, forfiles выполняет следующую команду:

Что печатает 27 на экране.

Как побочный эффект, он очищает экран так, как если бы вы выполнили команду cls .

Поскольку вы используете Windows XP, можно использовать Windows PowerShell.

или как функция

В PowerShell вы можете сделать:

Следующая команда находит папки размером более 100 МБ на диске D:

Параметр/s вызывает поиск подкаталогов, параметр /m показывает использование диска в мегабайтах, параметр /q: 100 вызывает маркировку папок размером более 100 МБ, а параметр /d отображает только папки, которые превышают порог, заданный параметром /q.

Используйте команду diskuse для поиска файлов по определенному размеру. Следующая команда отображает файлы размером более 100 МБ на диске D:

Параметр/x: 104857600 вызывает отображение файлов более 104 857 600 байт и действителен, только если вы включили опцию /v (verbose). Параметр /s означает, что подкаталоги с указанного пути (в данном случае, диск D:) выполняются.

Вывод списка файлов и подкаталогов каталога. Вызванная без параметров команда dir выводит метку тома и серийный номер, за которыми следует список каталогов и файлов на диске, включая их имена, дату и время последнего изменения. Для файлов dir выводит также расширение имени и размер в байтах. Команда dir также выводит общее число перечисленных файлов и каталогов, их общий размер и свободное пространство (в байтах) на диске.

Синтаксис

dir [диск:][путь][имя_файла] [. ] [ /p] [/q] [/w] [/d] [/a[[ :]атрибуты]] [/o[[:]порядок_сортировки]] [/t[[ :]поле_сортировки]] [/s] [/b] [/l] [ /n] [/x] [/c] [/4]

Параметры

[диск:][путь] Задание диска и каталога, список файлов которого будет выведен. [имя_файла] Задание файла или группы файлов, сведения о которых требуется вывести. /p Постраничный вывод сведений, т. е. с паузой после заполнения экрана. Для продолжения просмотра необходимо нажать любую клавишу. /q Вывод сведений о владельце файла. /w Вывод сведений в несколько колонок до пяти имен файлов или каталогов в каждой строке. /d Соответствует /w, но с сортировкой по столбцам. /a [[:] атрибуты] Выводит имена только тех файлов и каталогов, которые имеют указанные атрибуты. Если параметр /a не указан, команда dir выводит имена всех файлов, за исключением системных и скрытых. Если параметр /a указан без атрибутов, команда dir выводит имена всех файлов, включая скрытые и системные. Ниже приведен список значений, которые могут быть использованы при задании параметра атрибуты. Двоеточие (:) является необязательным. Значения из таблицы могут использоваться в любых комбинациях без пробела между ними.
Значение Описание
h Скрытые файлы
s Системные файлы
d Каталоги
a Файлы, готовые к архивированию
r Файлы, доступные только для чтения
-h Файлы, не являющиеся скрытыми
-s Файлы, не являющиеся системными
-d Только файлы (не каталоги)
-a Файлы, не изменявшиеся после последнего архивирования
-r Файлы, не имеющие атрибута «Только чтение»
/o [[:]порядок_сортировки] Управление порядком сортировки и вывода имен файлов и каталогов командой dir. Если параметр /o, не задан, команда dir выводит имена в том порядке, в котором они записаны в каталоге. Если параметр /o использован без параметра порядок_сортировки, команда dir выводит имена каталогов в алфавитном порядке, затем имена файлов в алфавитном порядке. Двоеточие (:) является необязательным. Ниже приведен список значений, которые могут быть использованы при задании параметра порядок_сортировки. Допускается использование любого их сочетания без пробелов между ними.
Значение Описание
n Сортировка по именам в алфавитном порядке
e Сортировка по расширениям в алфавитном порядке
d Сортировка по дате и времени от ранних к поздним
s Сортировка по размеру от меньших к большим
g Сортировка с группированием каталогов перед файлами
-n Сортировка по именам в обратном алфавитном порядке (от Z к A)
-e Сортировка по расширению в обратном алфавитном порядке (от .ZZZ к .AAA)
-d Сортировка по дате и времени от поздних к ранним
-s Сортировка по размеру от больших к меньшим
-g Сортировка с группировкой каталогов после файлов
/t [[:]поле_времени] Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени.
Значение Описание
c Создание
a Последнее обращение
w Последняя запись
/s Перечисление всех случаев обнаружения определенного имени файла в указанном каталоге и всех его подкаталогах. /b Перечисление каждого имени файла (включая расширение) или каталога на отдельной строке. При использовании параметра /b заголовочные сведения или сводка не выводятся. Параметр /b отменяет параметр /w. /l Вывод несортированного списка имен каталогов и имен файлов строчными буквами. Параметр /l не позволяет преобразовывать дополнительные символы в строчные. /n Вывод списка в расширенном формате с именами файлов в правой части экрана. /x Вывод сокращенных имен файлов файловых систем NTFS и FAT. Формат совпадает с форматом параметра /n, но сокращенные имена выводятся после полных. /c Вывод разделителя десятичных разрядов в размере файлов. /4 Отображение года в четырехзначном формате. /? Отображение справки в командной строке.

Примечания

Допускается использование нескольких имен_файлов. Разделяйте имена файлов пробелом, запятой или точкой с запятой. Для вывода группы файлов допускается применение подстановочных знаков (? и *) в параметре имя_файла.

Для вывода списка подгруппы файлов и подкаталогов можно использовать подстановочные знаки (? и *).

Если параметр /a используется более чем с одним значением параметра атрибуты, команда dir выведет имена только тех файлов, все атрибуты которых совпадают с заданными. Например, при использовании параметра /a со значениями атрибутов r и -h в формате /a:r-h или /ar-h команда dir выведет имена файлов, являющихся одновременно скрытыми и защищенными от записи.

Если указано несколько значений порядка_сортировки, команда dir сортирует имена файлов сначала по первому условию, затем по второму и т. д. Например, если указан ключ /o со значениями e и -s порядка_сортировки в формате /o:e-s или /oe-s, команда dir отсортирует имена каталогов и файлов по расширениям, затем от больших файлов к меньшим и выведет окончательный результат. В результате сортировки по алфавиту файлы без расширений будут идти вначале, затем имена каталогов, а потом имена файлов с расширениями.

Параметры команды dir могут быть предварительно заданы включением команды set для переменной среды DIRCMD в файл Autoexec.nt. В команде set dircmd может быть использована любая допустимая комбинация параметров команды dir, включая расположение и имя файла.

Например, чтобы использовать переменную среды DIRCMD для задания вывода в расширенном формате (/w) по умолчанию, в файле Autoexec.nt необходимо ввести следующую строку:

При однократном использовании команды dir можно отменить параметр с помощью переменной среды DIRCMD. Для этого введите параметр, который требуется отменить, в командной строке dir, указав перед ним знак минус. Например:

Чтобы изменить параметры DIRCMD, используемые по умолчанию, введите следующую команду:

set=новый_параметр

Новые параметры по умолчанию останутся в силе для всех последующих команд dir, пока команда set dircmd не задаст новые параметры или не будет перезагружен компьютер.

Чтобы удалить все параметры по умолчанию, введите следующую команду:

Чтобы просмотреть текущие параметры переменной среды DIRCMD, введите следующую команду:

Команда set выведет список переменных среды и их параметров. Дополнительные сведения о этой команде смотрите здесь.

Примеры

Чтобы вывести подряд все каталоги в алфавитном порядке, в несколько колонок и с паузой после заполнения каждого экрана, убедитесь, что корневой каталог является текущим, и введите следующую команду:

Команда dir выводит имя корневого каталога, имена его подкаталогов и имена файлов (включая расширения) в этом каталоге. Затем выводятся имена подкаталогов и имена файлов в каждом каталоге дерева каталогов.

Для изменения предыдущего примера так, чтобы команда dir не выводила имена каталогов, введите следующую команду:

Чтобы напечатать список каталогов, введите следующую команду:

Если указать параметр prn, список каталогов отправляется на принтер, подключенный к порту LPT1. Если принтер подключен к другому порту, необходимо заменить параметр prn именем этого порта.

Вывод команды dir также может быть направлен в файл при замене prn на имя файла. Кроме того, можно также ввести путь. Например, для направления вывода команды dir в файл Dir.doc в каталоге Records введите следующую команду:

Ошибка создания файла

Чтобы вывести список всех файлов с расширением .txt во всех каталогах диска C, введите следующую команду:

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

Для вопросов, обсуждений, замечаний, предложений и т. п. можете использовать раздел форума этого сайта (требуется регистрация).

Новый раздел о средствах командной строки в рамках этого же проекта расположен здесь

Читайте также: