@Verbiage

Как написать батник, который удаляет файлы, в которых есть строка с заданным содержимым в заданной директории?

Здравствуйте, мне нужна ваша помощь.
  • Вопрос задан
  • 542 просмотра
Пригласить эксперта
Ответы на вопрос 2
@yellowmew
Cloud infrastructure, monitoring engineer. SRE
в помощь: https://ss64.com/nt/
подсказка от КО:
вам понадобится команда которая ищет строки в файлах (одна из)
вам понадобится команда которая выполняет другую команду для всех результатов выполнения третьей команды
вам понадобится команда которая выполняет удаление файлов (ха-ха, простите).

Или же возьмите powershell (хватит откапывать стюардессу мучать cmd )
Оба скрипта получатся довольно простыми, что на Posh что на cmd
Ответ написан
@res2001
Developer, ex-admin
Примерно так:
@echo off
chcp 1251 1>nul
set "find_str=search string"
set "search_dir=c:\temp"
for %%a in (%search_dir%) do (
   findstr /C:"%find_str%" "%%~a" 1>nul 2>&1 && del /f /q "%%~a"
)

Батник обходит все файлы в каталоге заданном search_dir, в каждом файле ищет строку, содержащуюся в find_str, если строка найдена, удаляет файл.
Батник не тестировал. Для начала потренируйтесь на тестовых файлах.
Текст в файлах должен быть в кодировке cp1251. Если текст поиска английский, то кодировка в принципе не так важна.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект