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

Выполнить заданную команду при появлении в заданной изначально пустой директории папки или файла

17.01.2017, 09:50. Показов 9092. Ответов 8
Метки нет (Все метки)

Лучший ответ Сообщение было отмечено Maks как решение

Решение

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Задача 2.
Имеется пустая папка D:\temp
при появлении в ней новой папки или файла необходимо запустить команду dir.
Подскажите как можно реализовать?

Добавлено через 23 часа 23 минуты
Реализовал следующим образом:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@echo off
:nachalo
ping -n 6 localhost>Nul
SetLocal enabledelayedexpansion
set pap=D:\temp
chcp 1251 >nul
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!/(4)
if %dirsize% GEQ 1 (goto :soderjimoe) else (goto :nachalo)
:soderjimoe
chcp 866 >nul
cd D:\temp
dir/w
pause
exit
Добавлено через 3 минуты
Программа раз в 6 секунд проверяет папку на наличие содержимого, если что то появилось запускает команду dir
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2017, 09:50
Ответы с готовыми решениями:

быстрое оповещение о появлении новой папки или файла на сервере
Для администратора необходимо быстрое оповещение об изменениях на сервере ( появлении новой папки или файла на сервере). Что посоветуете,...

Выполнить заданные команды в зависимости от результата проверки наличия папок или файлов в заданной директории
Здравствуйте! Задача 1. Необходимо проверить наличие папок либо файлов в директории D:\temp. Если папка или файл есть запустить...

Проверить существование папки и выполнить команду
if(DirectoryExists("C:\\FOLDER")) { N1->Enabled=false; } Если папка не существует,заблокировать пункт меню Если папка есть то...

8
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
18.01.2017, 12:45
dut, костыль.
Есть же специальный инструментарий для таких задач System.IO.FileSystemWatcher
Который будет мониторить директорию, и в случае изменений выполнять необходимые действия.
Правда решение не для Bat, а для powershell
0
0 / 0 / 1
Регистрация: 16.01.2017
Сообщений: 8
18.01.2017, 15:56  [ТС]
Есть же специальный инструментарий для таких задач System.IO.FileSystemWatcher
Который будет мониторить директорию, и в случае изменений выполнять необходимые действия.
Правда решение не для Bat, а для powershell
Поделитесь хотя бы в ПМ. Было бы интересно узнать. Чем хорош инструментарий powershell и почему cmd это костыль?
0
 Аватар для v_svitere
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
18.01.2017, 16:13
dut, конечно костыль.
Предположим в Вашей директории появился файл, например какой нить bat-ник, который выполнился и затем удалился, все процедура заняла 2 секунды, или файл появился, а спустя секунду, был перемещен, например программно. Ваше решение об этих ситуациях даже не узнает. И это не единственный минус.
Чем хорош инструментарий powershell и почему cmd это костыль?
Чем хорош можно было найти обычным гуглением.
Класс FileSystemWatcher - Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.
Ни тебе бесконечных циклов, ни планировщиков, создал объект, настроил событие и радуешься.
0
0 / 0 / 1
Регистрация: 16.01.2017
Сообщений: 8
19.01.2017, 07:21  [ТС]
Предположим в Вашей директории появился файл, например какой нить bat-ник, который выполнился и затем удалился, все процедура заняла 2 секунды, или файл появился, а спустя секунду, был перемещен, например программно. Ваше решение об этих ситуациях даже не узнает. И это не единственный минус.
У меня файлы в папках неделями залеживаются, для того и создан костыль как напоминалка. Если файл удален через 2 секунды мне этим даже как бы и не требуется забивать голову.
В любом случае спасибо за пояснения.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
19.01.2017, 12:15
Цитата Сообщение от dut Посмотреть сообщение
файлы в папках неделями залеживаются
в таком случае доработайте это на удаление и запускайте из планировщика хоть каждый день - в чем проблема-то тогда?
0
0 / 0 / 1
Регистрация: 16.01.2017
Сообщений: 8
20.01.2017, 07:25  [ТС]
в таком случае доработайте это на удаление и запускайте из планировщика хоть каждый день - в чем проблема-то тогда?
Так оно и доработано. То что выше мной приведено, это просто пример решения задачи, у меня и запущен CMD в фоне, проверяет папки на предмет появления нового содержимого, рассылает уведомления пользователям. Предложенный вами вариант подходит для решения описанной мной задачи(я так понимаю проверяется папка именно на наличие содержимого). У меня эта задача в разных вариантах имеется(просто не стал все варианты кидать на форум). Иногда нужно пустую папку контролировать, иногда нужно проверять изменение содержимого (вот когда размер директории в байтах изменился очень удобно использовать сравнение размера директории текущего и сохраненного при предыдущей проверке).
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.01.2017, 12:15
не кидайтесь в крайности
прочитайте название вашей темы - ну, решена?
то что вы пишите дальше
Цитата Сообщение от dut Посмотреть сообщение
иногда нужно проверять изменение содержимого (вот когда размер директории в байтах
это уже другая тема для другого кода, там будет отличный от этого принцип решения подобного рода задачи, потом совместите оба кода в один или сразу надо было думать наперед (вообще это всегда полезно делать) и давать теме более развернутый заголовок.
0
0 / 0 / 0
Регистрация: 17.04.2022
Сообщений: 20
11.08.2022, 17:25
А как реализовать это на PowerShell? Можете помочь?

У меня задача следующая: когда в папке C:\Users\User\Downloads появлется файл с форматом .zip, то я должна автоматически запускать определенный скрипт (разархивирование файла в определенную папку)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.08.2022, 17:25
Помогаю со студенческими работами здесь

Создать скрипт выполняющий определенную команду в заданной директории
Здравствуйте, мне нужен скрипт который бы при запуске выполнял следующие действия переходит к директории...

Вывести на экран имя и дату создания (или изменения) самого свежего файла в заданной папки
Добрый день, есть небольшая проблема: Нужно вывести на экран имя и дату создания (или изменения) самого свежего файла из определенной...

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

Рядом с курсором мышки при нажатии или открывании файла или папки крутится значком загрузки
Добрый день! Почему, когда в проводнике просто нажимаю ЛКМ на папку или файл, это сопровождается значком загрузки (синее вращающееся...

При появлении недопустимых символов в TextBox выполнить откат в предыдущий корректный текст
В TextBox должны быть только целые и вещественные числа, как сделать так, чтоб при появлении недопустимых символов выполнялся откат в...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru