Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как найти файлы в каталоге, которые НЕ содержат в названии шаблон

Ответить
Настройки темы
CMD/BAT - [решено] как найти файлы в каталоге, которые НЕ содержат в названии шаблон

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


Задача такая:
в каталоге и его подкаталогах есть файлы
бла-бла.rc и бла-бла_manifest.rc

нужно ТОЛЬКО в файлах бла-бла.rc заменить строчку
VALUE "ProductName", ""
на строчку
VALUE "ProductName", "autobuild"

У меня возникло 2 проблемы:
1) как выбрать файлы бла-бла.rc и отсечь бла-бла_manifest.rc?
2) можно ли вообще силами CMD/BAT заменить значение в файле?

Заранее Спасибо.

Отправлено: 01:00, 07-04-2011

 

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


неужели никто не знает?
или это слишком просто?

Отправлено: 19:26, 07-04-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Старожил


Сообщения: 352
Благодарности: 119

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off &chcp 1251 >nul
for /f "delims=" %%f in ('dir /b/s *.rc ^|findstr /vec:"_manifest.rc"') do call :c "%%f"
goto :eof

:c
for /f "skip=2 tokens=1,* delims=]" %%r in ('find /v /n "" %1') do (
if "%%s"=="VALUE "ProductName", """ (
>>"%~1.tmp" echo VALUE "ProductName", "autobuild"
) else (>>"%~1.tmp" echo.%%s)
)
move /y "%~1.tmp" %1
goto :eof

Последний раз редактировалось kiripanda, 07-04-2011 в 22:16.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:36, 07-04-2011 | #3


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


УХ ТЫ!!!
спасибо большое!
буду разбираться!

Отправлено: 14:12, 08-04-2011 | #4


Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


вот так можно заменить строку в файле, не трогая другие строки
например, меняем Маня на Ваня

Код: Выделить весь код
@echo off
set cоntext=Маня
set replace=Ваня
setlocal EnableDelayedExpansion
copy nul 5.out
for /F "delims=" %%s in (5.txt) do (
set string=%%s
set string=!string:%cоntext%=%replace%!
echo !string!>>5.out
)
move 5.out 5.txt 
)

Отправлено: 17:17, 09-04-2011 | #5


Старожил


Сообщения: 352
Благодарности: 119

Профиль | Отправить PM | Цитировать


Что значит "не трогая другие строки" ? Не трогая другие слова?

Проверьте на таком тексте
Код: Выделить весь код
Следующая строка пустая:

А здесь был ! знак
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:20, 09-04-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] как найти файлы в каталоге, которые НЕ содержат в названии шаблон

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Уязвимости - Файлы которые не удаляются под Win и Acronis DD PFMAX Защита компьютерных систем 11 20-04-2015 08:22
[решено] Помогите удалить файлы которые не удаляются Денис Пирожков Хочу все знать 3 08-03-2011 19:49
CMD/BAT - Как не архивировать папки/файлы, которые не изменились? Dr.Kifir4ik Скриптовые языки администрирования Windows 5 10-02-2011 06:14
[решено] Файлы большого размера (место в каталоге) semenK Общий по FreeBSD 8 17-01-2006 20:09
Файлы 98-ого, которые всегда лежат на С: Ginger Microsoft Windows 95/98/Me (архив) 13 20-06-2003 18:12




 
Переход