С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/56: Рейтинг темы: голосов - 56, средняя оценка - 4.93
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127

Проверка наличия файла с определённым расширением

06.07.2015, 22:06. Показов 11684. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер!

Есть некая папка с большим количеством вложенных папок и файлов разных расширений.
Подскажите, как можно быстро найти в указанной папке файл определённого расширения? Например я ищу файл формата PNG, мне надо чтобы система проанализировала и выдала "1" если найден хотя бы один такой файл, если не найден то "0". И самое сложное как прервать поиск файлов, если найден файл с таким расширением, чтобы не анализировать все файлы?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.07.2015, 22:06
Ответы с готовыми решениями:

Проверка наличия файла в папках
Добрый день! Пытался найти решение дабы адаптировать его под себя, но не справился с этим, поэтому прошу помощи в решении такой проблемы:...

Проверка наличия файла на диске
Всем привет Ребят , у меня батник , который ищет указанный файл на диске, и выводит результат на экран Но по условию , нужно сделать...

Проверка наличия файла с переодичностью
Доброго времени суток форумчане, вроде все очевидно, но не работает следующий код @echo off For /L %i In (1, 1, 20) Do ( If not...

14
 Аватар для vavun
10593 / 5556 / 864
Регистрация: 07.04.2013
Сообщений: 15,660
06.07.2015, 22:22
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
set dir="D:\Pictures"
 
if exist %dir%\*.png (
echo 1
) else (
echo 0
)
 
pause
0
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
06.07.2015, 22:44  [ТС]
Подскажите, а как сделать поиск также во вложенных папках?
0
 Аватар для ComSpec
3462 / 2000 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
06.07.2015, 23:37
Лучший ответ Сообщение было отмечено vavun как решение

Решение

Цитата Сообщение от lorents Посмотреть сообщение
Есть некая папка с большим количеством вложенных папок и файлов разных расширений.
Подскажите, как можно быстро найти в указанной папке файл определённого расширения? Например я ищу файл формата PNG, мне надо чтобы система проанализировала и выдала "1" если найден хотя бы один такой файл, если не найден то "0". И самое сложное как прервать поиск файлов, если найден файл с таким расширением, чтобы не анализировать все файлы?

Этот код пакетного файла полностью соответствует поставленной Вами задаче:
Windows Batch file
1
@cmd/c "(for /r "C:\Test" %%i in ("*.png") do @echo 1& exit/b)& echo 0"& pause>nul
.
3
33 / 6 / 0
Регистрация: 18.05.2014
Сообщений: 127
06.07.2015, 23:54  [ТС]
ComSpec, спасибо большое! как всегда выручили.

Добавлено через 7 минут
и еще один вопрос
JPEG может быть трех вариантов: *.jpeg *.jpe *.jpg
Можно ли объединить поиск JPEG, который будет искать все три возможных варианта за один раз?
0
 Аватар для ComSpec
3462 / 2000 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
07.07.2015, 00:13
lorents, можно:
Windows Batch file
1
@cmd/c "(for /r "C:\Test" %%i in ("*.jpe" "*.jpeg" "*.jpg") do @echo 1& exit/b)& echo 0"& pause>nul
.
2
1 / 1 / 1
Регистрация: 10.02.2013
Сообщений: 56
13.02.2018, 16:16
Тема старая, но как раз для меня...

Почему в моей конструкции расширения xml и xml_ не различаются? т.е. файл с "_" все равно копируется...

Windows Batch file
1
2
3
4
5
6
7
8
@ECHO OFF
SET fromDir=C:\a
SET toDir=C:\b
SET fileExt=xml
 
For %%I In (%fromDir%\*.%fileExt%) Do (
    ECHO ::: Copy file '%%~nxI' from '%fromDir%' to '%toDir%'
)
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
13.02.2018, 16:30
Попоробуй через команду dir с точным поиском findstr /l
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
14.02.2018, 00:08

Не по теме:

ZoOoO, приведу пример для точности:


mrkid
Windows Batch file
1
dir /a-d/b | findstr xml$
0
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
20.11.2019, 18:01
alpap,
А если спец символ в начале имени файла?
Пример:
• WebDAV
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.11.2019, 19:59
loban_ser, к чему это?
понятное дело искать будем по "WebDAV" или предполагается что есть и "WebDAV", без спецсимвола, тогда регулярки cmd мало чтобы такое искать без выкрутасов.

Добавлено через 1 минуту
можно попробовать:
Windows Batch file
1
findstr /rc:".WebDAV"
если один символ
0
6969 / 2863 / 1100
Регистрация: 06.06.2017
Сообщений: 9,716
20.11.2019, 20:15
alpap, тут не в поиске проблема, а выводе • c | find... .
Windows Batch file
1
@for %i in ("• WebDAV*") do @echo %i
0
102 / 60 / 15
Регистрация: 29.01.2014
Сообщений: 119
20.11.2019, 21:24
alpap,
Это всего лишь пример, нужно найти файлы со спец символами в начале имени файла и разумеется удалить.
Листинг в кодировке chcp 866

Добавлено через 3 минуты
FlasherX,
Windows Batch file
1
@for %i in ("• *") do @echo %i
что подставить вместо • ???

Добавлено через 24 минуты
Понимаю, только так:
Windows Batch file
1
@for %i in ("? *") do chcp 1251>nul&&del /q "%i"&&chcp 866
Добавлено через 3 минуты
А если нет пробела между именем и знаком (спец символом)?

Добавлено через 48 секунд
А если нет пробела между именем и знаком (спец символом)?
0
 Аватар для volodin661
6671 / 2264 / 346
Регистрация: 10.12.2013
Сообщений: 7,829
20.11.2019, 21:30
Цитата Сообщение от loban_ser Посмотреть сообщение
Листинг в кодировке chcp 866
неплохой выбор для отображения символа со след. характеристиками:

Technical information
Name Bullet
Unicode number U+2022
HTML-code
CSS-code \2022
Entity •
Block General Punctuation
Set Special symbols
Unicode version: 1.1.5 (1993)


Encoding hex dec (bytes) dec binary
UTF-8 E2 80 A2 226 128 162 14844066 11100010 10000000 10100010
UTF-16BE 20 22 32 34 8226 00100000 00100010
UTF-16LE 22 20 34 32 8736 00100010 00100000
UTF-32BE 00 00 20 22 0 0 32 34 8226 00000000 00000000 00100000 00100010
UTF-32LE 22 20 00 00 34 32 0 0 572522496 00100010 00100000 00000000 00000000
0
6969 / 2863 / 1100
Регистрация: 06.06.2017
Сообщений: 9,716
20.11.2019, 21:53
Цитата Сообщение от loban_ser Посмотреть сообщение
что подставить вместо • ???
Не понял вопроса.
Бат в ANSI:
Windows Batch file
1
2
@chcp 1251>nul
@del/a/q/f*
И вообще это всё оффтоп.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.11.2019, 21:53
Помогаю со студенческими работами здесь

Проверка наличия файла в папке + действие
Добрый день, так как не нашел ответа нужного на форуме создал тему: Суть такова: Нужен бат файл который будет чекать 2 папки на диске...

Копирование всех файлов с определённым расширением
Здравствуйте! Задание такое: Копирование всех файлов с расширением doc из папки, в которой находится программа в папку...

Поиск заданной строки в файлах с определённым расширением
echo off setlocal :START SET /P str= Введите символьную строку: SET /P disk= Введите дисковый том: if /i "%disk%" ==...

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

Изменить имена файлов с определённым расширением на числа счётного ряда с начальными нулями
помогите решить задачу:) Переименовать все файлы расширения jpg в заданной директории в 001.jpg, 002.jpg, … Количество ведущих нулей и...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru