0 / 0 / 0
Регистрация: 18.06.2019
Сообщений: 1
1

Удалить строку с ключевым набором символов во всех файлах в папке и всех подпапках

18.06.2019, 11:45. Показов 811. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, очень нужна помощь в решении следующей задачи!

Есть папка .\temp в которой находятся файлы и подпапки то же с файлами.
Нужно найти htm- и js-файлы с ключевым набором символов, например - "_temp" и удалить строки, в которых он встречается.
При чем, как в папке, где находится мой батник, так и во всех подпапках.
Я тут набросал, но к сожалению не работает -

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
:: маска htm-файлов
set mask_htm=*.htm
:: маска js-файлов
set mask_js=*.js
:: перфикс для новых файлов
set prefix=p_tmp_pref_
:: ключевое слово, которое необходимо удалить.
set StringForDelete=_temp
 
:: Создание новых файлов с уже вырезанными ключевыми словами
For  /F "delims=" %%a in ('dir /b "%cd%\%mask_htm%"') do ( :: if NOT %%a == %NameBat% (
    < "%%a" find /I /V "%StringForDelete%" > "%cd%\%prefix%%%a"
)
For  /F "delims=" %%a in ('dir /b "%cd%\%mask_js%"') do ( :: if NOT %%a == %NameBat% (
    < "%%a" find /I /V "%StringForDelete%" > "%cd%\%prefix%%%a"
)
 
:: Удаление файлов, в которых были найдены ключевые слова.
For /F "delims=" %%b in ('dir /b "%cd%\%mask_htm%" ^| find /i /v "%prefix%"') do (
        del /q "%%b"
)
For /F "delims=" %%b in ('dir /b "%cd%\%mask_js%" ^| find /i /v "%prefix%"') do (
        del /q "%%b"
)
 
:: Переименование файлов с вырезанными ключевыми словами.
For /f %%d in ('dir /b "%cd%\%prefix%*"') do (
    for /f "tokens=* delims=\%prefix%" %%n in ('echo %%d') do (
        ren "%%d" "%%n"
  )
)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2019, 11:45
Ответы с готовыми решениями:

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

Удалить строку во всех открытых файлах Notepad++
Вот открыто 36 файлов в notepad++ , в которых есть строчка smartaddons как удалить ее во всех, не...

Получение всех имен файлов в папке и во вложенных подпапках
public partial class Form1 : Form { public Form1() { ...

Найти строку во всех файлах заданного каталога и всех его подкаталогах
Написать скрипт для поиска заданной пользователем строки во всех файлах заданного каталога и всех...

1
419 / 179 / 27
Регистрация: 11.03.2018
Сообщений: 765
18.06.2019, 13:18 2
PowerShell
1
gci *.htm, *.jpg -file -r |% { (gc $_) |? { $_ -notmatch '_temp' } | Out-File "p_tmp_pref_$_" }
0
18.06.2019, 13:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2019, 13:18
Помогаю со студенческими работами здесь

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

Проверить и изменить названия всех файлов в текущей папке и подпапках
Работаю в Visual Studio 2012. Собственно, нужно проверить длину имён всех файлов и сократить...

Построить список полных путей к файлам в указанной папке и всех ее подпапках
​Разработать консольное приложение на C++. В качестве аргументов командной строки приложение...

Получения всех файлов в папке и подпапках игнорируя ошибку с правами доступа
К слову сам вопрос. Как получить все файлы в папке и подпапках игнорирую ошибку с правами доступа...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru