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

CMD Поиск текста в файле + Копирование + переименовывание

12.03.2015, 08:12. Показов 8021. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите написать .bat с параметрами выполнения поиска слова в файле, если есть то скопировать и переименовать в 123123123.123. Например так: есть созданный файл 123.txt он содержит искомое слово допустим "Маша", если есть совпадение то скопировать и переименовать файл в 123123.123, или если он содержит слово "Паша", то скопировать и переименовать в 321321.321, если совпадений нет, то выдать ошибку! Помогите пожалуйста!!!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.03.2015, 08:12
Ответы с готовыми решениями:

Поиск текста в файле и копирование его в другой
Здравствуйте. Может кто нибудь подсказать как это сделать? Нужно найти в текстовом файле A все слова с буквой "Й" ...

Копирование и переименовывание
Добрый вечер. Прошу помощи при создании кода. Необходимо файл 1.txt из папки с:\1\ скопировать в папку c:\2\ но с другим именем. Можно...

Как осуществить копирование, переименовывание и удаление файлов
Всем привет! В программирование всего ничего, 2 месяца, хочу узнать с помощью каких команд можно копировать с диска на диск файлы......

5
4 / 4 / 2
Регистрация: 24.12.2014
Сообщений: 13
12.03.2015, 12:03
Bash
1
@SetLocal enabledelayedexpansion &set/p s="Ищем: " &&set/p f="В файле: " &&set/p sv="Сохраняем как: " &&find/i "!s!"<"!f!">nul &&copy "!f!" "!sv!"||echo Ошибка &pause
0
0 / 0 / 0
Регистрация: 11.03.2015
Сообщений: 3
12.03.2015, 12:30  [ТС]
Bash
1
2
3
4
5
6
7
8
9
10
@echo on
chcp 1251 > NUL
SetLocal EnableExtensions
set src=C:\Входящие
set mask=*.txt
set word=привет
set dest=C:\Исходящие
chcp 866 > NUL
for /f "tokens=1" %%a in ('findstr /irc:%word% "%src%\%mask%"') do (copy /y "%%~a" "%dest%\" && rename "%dest%\%mask%" 123123.1 )
pause
Попытка слепить самому где ошибка???

Добавлено через 14 минут
Спасибо! Но к сожалению не работает, выдает "ошибку" или через CMD, пишет искомое слово и ошибку!
0
 Аватар для ComSpec
3464 / 2002 / 635
Регистрация: 26.02.2014
Сообщений: 1,457
12.03.2015, 15:53
Лучший ответ Сообщение было отмечено ETPentinger как решение

Решение

Цитата Сообщение от ETPentinger Посмотреть сообщение
где ошибка???



1) Чтобы команда "findstr" выводила только файлы, в которых есть искомое слово, нужно использовать параметр "m".

2) В команде "findstr" надо заменить параметр "r" на параметр "l", так как Вы не используете регулярные выражения.

3) Команда "copy" сама скопирует файл в файл с новым именем, поэтому нет необходимости использовать команду "rename".

4) Разные версии утилиты "findstr.exe" по-разному работают с кириллицей, и при написании кода надо исходить из особенностей Вашей версии (что, конечно, непросто).



Исходя из вышеизложенного и добавив ещё некоторые поправки, могу предложить следующий код, который с моей версией "findstr.exe" работает великолепно:


Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
 
set "word=привет"
 
>nul chcp 1251
 
set "src=C:\Входящие"
set "mask=*.txt"
set "dest=C:\Исходящие"
 
>nul chcp 866
 
(
for /f "delims=" %%a in ('findstr /ilmc:"%word%" "%src%\%mask%"') do (
 copy /y "%%a" "%dest%\123123.1"
)
)|| echo The necessary files are not found.
 
pause

.



Ещё учтите, что код предназначен для копирования одного файла с найденым совпаденем. Если таких файлов будет больше, то все следующие файлы будут перезаписываться в файл "123123.1".
3
0 / 0 / 0
Регистрация: 11.03.2015
Сообщений: 3
12.03.2015, 17:13  [ТС]
ComSpec, Спасибо большое, за ответ, очень познавательно! Буду изучать справку cmd дальше!
0
4 / 4 / 2
Регистрация: 24.12.2014
Сообщений: 13
13.03.2015, 15:10
Цитата Сообщение от ETPentinger Посмотреть сообщение
Спасибо! Но к сожалению не работает, выдает "ошибку" или через CMD, пишет искомое слово и ошибку!
Когда вводишь слово поиска в консоли оно по умолчанию в кодировке 866, поэтому находит это слово с файлах с такой же кодировкой

Цитата Сообщение от ComSpec Посмотреть сообщение
могу предложить следующий код, который с моей версией "findstr.exe" работает великолепно:
ищет в файлах такой же кодировке как и сам батник
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2015, 15:10
Помогаю со студенческими работами здесь

Копирование удаление и переименовывание exe в одной папке
Здравствуйте! Интересует следующая ситуация: Допустим есть папка C:\papka\ в которой лежит 1 оригинальный файл с расширением .exe, его...

Поиск строк в txt файле и копирование в другой упорядоченно
Ребята образовалась такая проблема, так как я в этом не силён:(. Суть в том что заголовки(object_0,object_0,object_2) в txt(Визу указал...

Поиск в dat файле нужного числа и его копирование в Edit
Доброго вечера форумчани!У меня такая ситуация...есть dat файл, надо по сочитанию символов, допустим ХР1, найти строку....далее в этой...

Поиск текста в файле
Добрый вечер всем. Сижу не пойму, что делаю не так. Месяц назад делал набросок, вроде все работало, сейчас сижу вспоминаю, ищет, но не все....

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


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

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

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru