Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
1

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

05.02.2015, 13:37. Показов 2852. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
батник получить размер самого большого файла в папке
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2015, 13:37
Ответы с готовыми решениями:

Получить размер большого файла(6Гб и более)
Здравствуйте. Как я могу получить размер большого файла,более 6Гб? Использую следующий код,но...

Мониторинг файлов в папке: программа иногда не может получить размер файла
Всем привет, если не в том разделе создал тему , то извините ) Написал я программу для...

Вывести название самого большого файла
Необходимо написать скрипт вывода статистики по смонтированным системам по их общему объему и...

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

11
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.02.2015, 14:40 2
Bash
1
@pushd "D:\Test"& cmd/c "for /f %%i in ('"2>nul dir/a-d/b/o-s"') do @echo "%%i": %%~zi bytes.& exit/b"& popd& pause>nul
2
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
05.02.2015, 15:20  [ТС] 3
Спасибо - работает.
Может подскажите, как сравнить размер файла с текущей датой %date% с полученным размером(самого большого файла)?

Добавлено через 13 минут
Т.е . среди файлов папке есть файл в формате %date%.txt.
Надо сравнить размер этого файла с размером самого большого файла в папке
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.02.2015, 16:34 4
Лучший ответ Сообщение было отмечено Nata_13 как решение

Решение

Как-то так:


Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@echo off
 
pushd "Test"
for /f "tokens=1,2 delims=:" %%i in ('for /f "delims=" %%h in ('"2>nul dir/a-d/b/o-s"'^) do @echo %%h:%%~zh^& exit/b') do (
 for %%k in ("%date%*.txt") do (
  if "%%~k" equ "%%i" (
   echo Файл с текущей датой самый большой.
  ) else (
   if "%%~zk" lss "%%j" echo Файл с текущей датой меньше самого большого.
   if "%%~zk" equ "%%j" echo Файл с текущей датой одинаков по размеру с самым большим.
  )
  )
 )
popd
 
pause>nul& exit/b

.
0
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
05.02.2015, 17:08  [ТС] 5
Спасибо! Скажите, а если папка находится на диске С:\каталог\. Где именно вписать этот путь?
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
05.02.2015, 17:25 6
Bash
3
pushd "С:\каталог"
1
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
05.02.2015, 17:28  [ТС] 7
И чтобы размер отображался в Кб или М, если не сложно...
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
06.02.2015, 05:20 8
В килобайтах:
Bash
1
@pushd "С:\каталог"& cmd/c "for /f "delims=" %%i in ('"2>nul dir/a-d/b/o-s"') do @for /f %%j in ('set/a %%~zi/1024') do @echo "%%i": %%j kB.& exit/b"& popd& pause>nul
.
1
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
06.02.2015, 10:41  [ТС] 9
Нужно, чтобы результат записывался в лог.
Код
chcp 1251
@echo on
setlocal

set errlog="Log.log"
  
pushd "d:\каталог"
for /f "tokens=1,2 delims=:" %%i in ('for /f "delims=" %%h in ('"2>nul dir/a-d/b/o-s"'^) do @echo %%h:%%~zh^& exit/b') do (
 for %%k in ("%date%.rar") do (
  if "%%~k" equ "%%i" (
   echo Файл с текущей датой самый большой. >> %errlog%
  ) else (
   if "%%~zk" lss "%%j" echo menshe "%%~zk" >> %errlog%
   if "%%~zk" equ "%%j" echo Файл с текущей датой одинаков по размеру с самым большим. >> %errlog%
  )
  )
 )
popd

echo. >> %errlog% 
copy %errlog% %viewlog% /a
Лог создает, а вот информации в нем нет
Подскажите, как исправить
0
3460 / 1998 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
06.02.2015, 15:30 10
Nata_13, у Вас создавалось два LOG-файла: в каталоге "D:\каталог" и рядом с пакетным файлом ("пустой").



Вот так должно работать корректно:


Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@echo off
setlocal
 
set "errlog=%~dp0Log.log"
 
pushd "D:\каталог"
for /f "tokens=1,2 delims=:" %%i in ('
 for /f "delims=" %%h in ('"2>nul dir/a-d/b/o-s"'^) do @echo %%h:%%~zh^& exit/b
') do (
 for %%k in ("%date%.rar") do>>"%errlog%" (
  if "%%~k" equ "%%i" (
   echo Файл с текущей датой самый большой (%%j B^).
  ) else (
   if "%%~zk" lss "%%j" echo Файл с текущей датой (%%~zk B^) меньше самого большого ("%%i", %%j B^).
   if "%%~zk" equ "%%j" echo Файл с текущей датой одинаков по размеру с самым большим (%%j B^).
  )
  )
 )
popd
 
echo.>>"%errlog%"

.
0
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
06.02.2015, 15:43  [ТС] 11
Создается один пустой лог
У меня файл с текущей датой меньше самого большого, но это не выводится в лог
0
0 / 0 / 0
Регистрация: 23.01.2015
Сообщений: 17
11.02.2015, 16:23  [ТС] 12
Все заработало! спасибо
0
11.02.2015, 16:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.02.2015, 16:23
Помогаю со студенческими работами здесь

Подскажите как правильно получить имя самого себя без .exe!
FileName := ExtractShortPathName( ParamStr(0)-'.exe' ); Я понял что так не выйдет и думаю как...

Свойства jpg файла в частности размер (не самого файла а изображения)
Подскажите как получить размер картинки в jpg плиз Можно ли както сделать тоже самое на удаленном...

Как получить значение нужных элементов из очень большого xml файла?
Добрый день, Файл загружается по url ссылке, далее много вложенных листов и в одном из листов...

Найти среднее арифметическое самого большого и самого малого значения элементов матрицы
1)Дано цілочисельну квадратну матрицю порядку M. Дати відповідь, чи є у матриці ненульові...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru