Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70

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

25.07.2019, 10:09. Показов 1977. Ответов 18
Метки нет (Все метки)

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

У меня в папке находятся файлы с разными именами, мне нужно каждый файл прочитать (type) и найти в нем слова (findstr) "Бухгалтерия" и "Новое", и если хоть одно такое есть то выполнить 'set "nashol=1"'. Файлов несколько в директории.

Заранее спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2019, 10:09
Ответы с готовыми решениями:

Дано натуральное число. Выполнить с ним некоторые действия
Помогите пожалуйста решить задачу: Дано натуральное число. Определить: а) количество цифр в нем; б) сумму его цифр; в) произведение...

Отловить появление файла и выполнить над ним действия
Добрый день, посоветуйте что-нибудь попроще (новичку). В идеале "пакет"-следилку. Или простой баш-скрипт висящий как сервис (но не...

Создать класс для работы сo строками и выполнить указанные действия с ним
Здравствуйте. Помогите пожалуйста с задачей. Язык совсем не знаю...:cry: Решите, умоляю!!!

18
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
25.07.2019, 22:03  [ТС]
+ актуально +
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
26.07.2019, 00:46
Цитата Сообщение от Moxito6 Посмотреть сообщение
то выполнить 'set "nashol=1"
И что это даст в практическом смысле? Логично перечислить найденные файлы.
И почему для этого именно батник нужен, а не адекватные средства по работе с файлами, включая поиск по тексту?
С найденным ещё что-то делать надобно, полагаю.
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
26.07.2019, 09:47  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
И что это даст в практическом смысле? Логично перечислить найденные файлы.
И почему для этого именно батник нужен, а не адекватные средства по работе с файлами, включая поиск по тексту?
С найденным ещё что-то делать надобно, полагаю.
в конце скрипта идет проверка, и если nashol=1 то выполняет echo Это бухгалтерия или Новое
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
26.07.2019, 13:47
Тогда нужно прерывание цикла на первом совпадении. Так?

P.S.: 100500 раз писал — не надо цитировать предыдущий пост.
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 10:10  [ТС]
FlasherX, нет, нужно чтобы скрипт искал в каждом файле из текущей директории слова "бухгалтерия" и "новое", и при нахождении таких устанавливал переменную nashol=1, так как в конце идет проверка на nashol. Просто чтобы если скрипт нашел то писал в echo: Файл: %файл% [Это к бухгалтеру] или [Это к новым] или [Не нашел].
Спасибо.
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
27.07.2019, 10:29
Нет никакого смысла во множественной установке одного и того же значения для одной и той же переменной.
Просто выполнять echo в цикле при нахождении искомого — это уже про другое.
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 10:37  [ТС]
FlasherX, тогда nashelda при Новое. Про echo это в конце та самая проверка
0
27.07.2019, 10:56

Не по теме:

nashelda
У узбеков есть такая сладость — нишолда. С нашелдой, увы, не знаком...

0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 11:30  [ТС]
FlasherX, можно просто каждый файл и директории "прочитать" через type?
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
27.07.2019, 11:36
Что толку от одного чтения без нахождения и вывода? И чтобы читать, надо знать кодировки файлов и то, что они именно текстовые.
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 13:15  [ТС]
я добавлю "| findstr", с кодировкой все оке
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
27.07.2019, 13:35
Лучший ответ Сообщение было отмечено Moxito6 как решение

Решение

Короче, я так и не понял, что там реально надо, поэтому echo:
Windows Batch file
1
2
3
4
@echo off&chcp 1251>nul
set text=вася
for /r %%f in (*.*) do if "%%f" neq "%~0" type "%%f"|>nul find /c "%text%" &&echo Найдено в %%f
pause>nul
1
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 18:20  [ТС]
а как сделать, чтобы свой же файл не сканировал?)
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
27.07.2019, 18:23
А там есть чужие? )
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
27.07.2019, 18:27  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
А там есть чужие? )
вот:
54.txt
55.txt
56.txt

числа могут быть случайные. но скрипт иногда может вот так:
Файл: K:\i85.txt [Отдай бухгалтеру]
Файл: K:\0.txt [Отдай бухгалтеру]
Файл: K:\a66.txt [Отдай новому]
Файл: K:\buhgalter-ili-novim.cmd [Отдай бухгалтеру]
Файл: K:\buhgalter-ili-novim.cmd [Отдай новому]
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
27.07.2019, 18:50
Если там обе проверки, то логично, что он так может. А как же ещё, если так было запрошено?
И как это связано с неким "своим" файлом?

Цитата Сообщение от Moxito6 Посмотреть сообщение
в папке
Цитата Сообщение от Moxito6 Посмотреть сообщение
Файл: K:\i85.txt
Так в папке или в корне диска? Это несколько разные вещи. Для второго случая рекурсия совсем не в тему.
0
3 / 2 / 1
Регистрация: 08.02.2018
Сообщений: 70
28.07.2019, 12:45  [ТС]
в тот момент в корне диска, но там был батник запущен. Свой файл - батник
0
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
28.07.2019, 13:13
Что значит "но"?
Батник не отличается по принципу свой/чужой. В коде и так он игнорируется.
Раз поиск ведётся только в корне, то /r из 3-й стоки следует убрать. И ~f добавить: ... if "%%~ff" ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.07.2019, 13:13
Помогаю со студенческими работами здесь

Создать массив, наполнить его случайными значениями и выполнить с ним указанные действия
Необходимо создать массив, наполнить его случайными значениями, (rand) найти макс. и мин. значения и поменять их местами

: Строковый тип данных. ***** Задан произвольный строка, выполнить с ним следующие действия. Внимание! Не используйте дополнительную строку
Заменить все малые буквы на большие, а большие на малые. Не используйте встроенную функцию для изменения регистра.:rtfm:

Найти файл в текущей директории и проделать с ним соответствующие операции
Доброго времени суток! Имеетя задача - найти файл в текущей директории и проделать с ним соттветствующие операции, если его нет - то...

Составить командный файл, предлагающий выполнить действия по выбору
Составить командный файл предлагающий выполнить следующие действия по выбору: Форматирование дискеты; Просмотр содержимого заданного...

Добавить к программе след действия: Сохранение и загрузка информации в текст. файл. Сохранение и загрузка информации в типизированный файл.
Помогите добавить к программе след действия: Сохранение и загрузка информации в текст. файл. Сохранение и загрузка информации в...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
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-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru