Как получить размер файла в VB.NET ?

#vb.net #command-line

#vb.net #командная строка

Вопрос:

Итак, мне поручено написать приложение командной строки, которое сообщает вам размер файла в заданном каталоге. Я в основном собираюсь повторить то, что dir /s <dir> делает команда, но вывести результат в текстовый файл, чтобы сделать его доступным для последующего анализа.

Используя VB.NET , Я нахожусь в том месте, где мне нужно получить размер каталога, но, похоже, в классе нет такого готового свойства DirectoryInfo . Как мне получить размер каталога?

РЕДАКТИРОВАТЬ: если есть встроенная команда или переключатель, которые можно ввести в командной строке для автоматического вывода результатов операции в текстовый файл, то это сделало бы это бесконечно проще.

Комментарии:

1. Проверьте эту ссылку social.msdn.microsoft.com/Forums/en-US/vblanguage/thread /…

2. Как говорит Дэмиен, вам нужно .Length . Я считаю, что для получения размера каталога вам нужно будет перебирать файлы внутри и суммировать их Lengths .

Ответ №1:

У FileInfo нет свойства Length в вашей версии?

(По общему признанию, DirectoryInfo не имеет такого свойства — вам нужно будет определить свою собственную рекурсивную функцию, которая исследует подкаталоги и вложенные папки на основе объекта DirectoryInfo и возвращает сумму их размеров)


Кроме того, для большинства команд вы можете отправить вывод в текстовый файл с помощью > оператора, например:

 dir >myoutput.txt /s <dir>
  

Ответ №2:

Я бы просто использовал команду CMD ниже

 dir >dirinfo.txt
  

Просто замените имя файла любым именем и путем, которые вам нужны. Это экспортирует результаты в тестовый файл.