Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/35: Рейтинг темы: голосов - 35, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 48

Выполнить действие, если размер папки превышает 10 МБ

31.01.2013, 19:00. Показов 7358. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте !!! как в бат сделать такое если папка больше 10mb запуск файла не происходит если меньше происходить запуск файла. Спасибо

Добавлено через 30 минут
и второй вопрос можно ли как нибудь обьявить переменную для слова например copy d:\ira\1 d:\%i%\2 т.е что бы %i% отражалась как ira.

Добавлено через 2 часа 35 минут
и третий вопрос вот copy d:\1\1.txt d:\2\ как записать в отдельный txt файл куда скопировалось в моем случаи d:\2\ спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2013, 19:00
Ответы с готовыми решениями:

Удалить все файлы из папки, если их суммарный размер превышает 100 Мб
Всем привет, помогите пожалуйста надо сделать скрипт с условием Имеется папка в ней файлы если файлы больше 100 Мегабайт, то удалить все...

Для строки, размер которой не превышает 255 символов, выполнить действия
Для строки, размер которой не превышает 255 символов, выполнить действия: 1)заменить все вхождения заданного символа заданной подстрокой ...

Если число от 0 до 5 выполнить действие
Извиняюсь, но не смог найти ответ на свой вопрос, в интернете. как правильно написать в c# int i =3 if i от 0 до 5 то действие

18
 Аватар для Badger
95 / 95 / 4
Регистрация: 25.06.2012
Сообщений: 278
31.01.2013, 19:11
1. Сейчас нет времени, но где то видел на форуме определения размера файлов, поищите.
2.
Bash
1
2
set i=ira
echo %i% - выведет ira
Вы это имели ввиду?
3.
Bash
1
copy d:\1\1.txt d:\2 >> c:\temp\copy.log
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 48
31.01.2013, 19:20  [ТС]
3. нет не это там просто пишется Скопировано файлов: 1. а мне надо путь куда скопировалось записать
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.01.2013, 19:36
lica, Получение информации о размере папки

3.
Bash
1
echo d:\2\ > c:\temp\copy.log
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
31.01.2013, 19:50
Цитата Сообщение от lica Посмотреть сообщение
Здравствуйте !!! как в бат сделать такое если папка больше 10mb запуск файла не происходит если меньше происходить запуск файла.
грубый счет
Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
SetLocal enabledelayedexpansion
 
set pap=C:\2
 
For /F "skip=4 tokens=1-3" %%a IN ('Dir "%pap%" /-C /S ') Do (
    If !flag!==1 Set dirsize=%%c
    If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
    )
set /a dirsize=!dirsize!/(1024*1024)
if %dirsize% GEQ 10 (start "" /wait notepad.exe) else (Echo Папка меньше 10 мб.)
pause
Цитата Сообщение от lica Посмотреть сообщение
copy d:\1\1.txt d:\2\ как записать в отдельный txt файл куда скопировалось
Если Вам необходимо логировать место копирования файла, проще сделать это через echo
Bash
1
2
echo copy d:\1\1.txt d:\2\ >log.log
copy d:\1\1.txt d:\2\
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 48
31.01.2013, 20:44  [ТС]
Dragokas.sov44
3. не совсем то файл .log создается даже если копирование не произошло а мне надо что бы он создавался только тогда когда произошло копирование.

Добавлено через 5 минут
sov44
не работает код
@echo off
SetLocal enabledelayedexpansion

set pap=C:\2

For /F "skip=4 tokens=1-3" %%a IN ('Dir "%pap%" /-C /S ') Do (
If !flag!==1 Set dirsize=%%c
If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
)
set /a dirsize=!dirsize!/(1024*1024)
if %dirsize% GEQ 10 (start "" /wait notepad.exe) else (Echo Папка меньше 10 мб.)
pause
Добавлено через 4 минуты
sov44
делала так

SetLocal enabledelayedexpansion

set pap=d:\op\1\

For /F "skip=4 tokens=1-3" %%a IN ('Dir "%pap%" /-C /S ') Do (
If !flag!==1 Set dirsize=%%c
If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
)
set /a dirsize=!dirsize!/(1024*1024)
if %dirsize% GEQ 10 (start "d:\1.jpg" /wait notepad.exe) else (Echo Папка меньше 10 мб.)
pause
и так
SetLocal enabledelayedexpansion

set pap=d:\op\1\

For /F "skip=4 tokens=1-3" %%a IN ('Dir "%pap%" /-C /S ') Do (
If !flag!==1 Set dirsize=%%c
If "%%b"=="файлов:" (Set flag=1) Else (Set flag=0)
)
set /a dirsize=!dirsize!/(1024*1024)
if %dirsize% GEQ 10 (start "d:\1.jpg") else (Echo Папка меньше 10 мб.)
pause
не работает может я где то ошиблась?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
31.01.2013, 21:07
3. не совсем то файл .log создается даже если копирование не произошло а мне надо что бы он создавался только тогда когда произошло копирование.
Bash
1
copy d:\1\1.txt d:\2\&&echo copy d:\1\1.txt d:\2>log.txt
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.01.2013, 21:07
И что пишет?
Bash
1
Echo %dirsize%
что там?

Да, и так неверно, нужно
Bash
1
start "" "d:\1.jpg"
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 48
31.01.2013, 21:30  [ТС]
Dragokas
я только учусь
мне вот все понятно всякие copy dir-ы но не понимаю вот такие команды


Echo,For,tokens.tokens.If !flag.Dir "%pap%" /-C /S '.
SetLocal enabledelayedexpansion и т.п если бы кто нибуть дал с сылочку на все. справку хоть желательно с примерами я бы не задавала эти глупые вопросы и темы я не глупая
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
31.01.2013, 21:35
К сожалению, на все ссылки нет ((
Могу только порекомендовать
Bash
1
2
3
4
Set /?
 Setlocal /?
 If /?
 For /?
1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
31.01.2013, 22:13
Дак вы спрашивайте - поможем.
Сначала попробуйте совет FraidZZ. Потом попробуйте ввести сами.
Опробовать любой свой тестовый скрипт с этими командами.
А потом уже сюда - с конкретными примерами + показать какую конкретно ошибку выдает.
1
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
31.01.2013, 22:24
lica, про сохранение скрипта в 866 кодировке надеюсь не забыли?
0
0 / 0 / 0
Регистрация: 18.09.2012
Сообщений: 48
31.01.2013, 22:45  [ТС]
FraidZZ

Добавлено через 2 минуты
sov44
про 46 статью надеюсь не забыли про пункт 1 и про пункт 2
вот тоже самое вы мне говорите что и я вам
я не понимаю
вот это
chcp 1251

Добавлено через 4 минуты
Dragokas
спасибо буду пробовать но сейчас спать у нас в нефтеюганске уже поздно спасибо еще раз
спасибо всем до завтра
0
1781 / 763 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
31.01.2013, 23:24
Цитата Сообщение от sov44 Посмотреть сообщение
сохранение скрипта в 866 кодировке
на примере AkelPad
Миниатюры
Выполнить действие, если размер папки превышает 10 МБ  
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.02.2013, 02:22
Цитата Сообщение от lica Посмотреть сообщение
спасибо буду пробовать
А это (,tokens...) наверно так сразу и не получится.
По моему опыту обучения ясно, что не все так сразу очевидно для новичка, допускается множество ошибок.
Так, что только конкретные примеры и индивидуальные уроки, если желаете, лисичка Ира
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
02.02.2013, 16:24
Цитата Сообщение от lica Посмотреть сообщение
я не понимаю
вот это
chcp 1251
Смена кодировки файла на 1251. Позволяеть сохранять файл обычным способом, без смены кодировки.

Добавлено через 22 часа 36 минут
Цитата Сообщение от Dragokas Посмотреть сообщение
По моему опыту обучения ясно, что не все так сразу очевидно для новичка, допускается множество ошибок.
К сожалению, но всё же попробую вкратце объяснить...

Через FOR задаётся список команд для КАЖДОГО элемента набора. Набор пишется внутри IN (...)
Командная строка выполняет эти команды раз за разом, при этом текущий элемент набора находится в переменной, заданной после %%

Например,
Bash
1
FOR %%a IN (C:\Users\*.txt) DO (echo %%a)
выведет имена всех файлов *.txt в папке C:\Users.

Параметр /F используется для построчного разбора файла, т.е.
Bash
1
FOR /f "usebackq tokens=*" %%a IN ("C:\1.txt") DO (echo %%a)
выведет все строки файла 1.txt
usebackq означает, что можно использовать двоёные кавычки в имени файла, это необходимо для работы с файлом, путь к которому содержит пробелы.
tokens=* означает, что в переменную %%a будет записана вся строка

Параметр /L означает математическое перечисление чисел от первого числа, заданного в IN (...) до третьего, с шагом, равным второму.
Bash
1
FOR /L %%a IN (1,1,10) DO (echo %%a)
выведет все числа от 1 до 10
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
02.02.2013, 23:49
FraidZZ, браво, как для новичка объяснили - супер.
Общий смысл передан верный, но с точки зрения интерпретатора процесс разбора идет немножко по-другом.
Понимаю, что писали специально для ТС,
поэтому и поправлять Вас не вижу смысла. Только, если желаете.
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
03.02.2013, 14:01
Цитата Сообщение от Dragokas Посмотреть сообщение
Общий смысл передан верный, но с точки зрения интерпретатора процесс разбора идет немножко по-другом
Хм, поясните...
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
04.02.2013, 01:24
FraidZZ, в процессе написания получилось нечто больше, чем попытка объяснить
https://www.cyberforum.ru/cmd-... 78462.html
и часть в теме: Наиболее частые ошибки, заметки особенностей программинга BAT файлов, баги интерпретатора*

На самом деле я просто решил сделать более широко. Надеюсь это кому-то будет полезно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2013, 01:24
Помогаю со студенческими работами здесь

Если нажата клавиша, выполнить действие...
Как сделать, чтобы: Если нажата клавиша, допустим Enter, то загрузится Paint

Если TMemo не пуст, то выполнить действие
как сделать если текст в мемо 1, то выполнять действие? procedure TForm1.ICQClient1MessageRecv(Sender: TObject; Msg, UIN: String); ...

Сравнить дату с текущей, если ДА, выполнить действие
Здравствуйте! Хочу сравнить дату, которая заносится в переменную datetime, с текущей (11.06.2013), но выскакивает ошибка: ...

Если нажат конкретный CheckBox, то выполнить действие
Всем привет, в php я новичок, и никак не могу понять, как отследить, какой CheckBox нажат. И в зависимости от нажатого CheckBox выполнить...

Если в файле указана не цифра 5, выполнить действие
Здравствуйте. Поправьте код >nul find /i "5" < "1.txt" && start "" "2.txt" в итоге нужно получить если в 1.txt файле написано не...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru