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

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

Ответить
Настройки темы
CMD/BAT - [решено] теряется "!" при копировании строк

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


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

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


заменяю в файле myfile.txt ААА на ВВВ вот таким образом

Код: Выделить весь код
set context=AAA
set replace=BBB
setlocal EnableDelayedExpansion
set tmpfile=1.tmp
copy nul %tmpfile%
for /F "usebackq delims==" %%s in (myfile.txt) do (
	set string=%%s
	set string=!string:%context%=%replace%!
	echo !string!>>%tmpfile%
)
move /y %tmpfile% myfile.txt
проблема в том, что в этом файле есть строка
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)

после копирования она превращается в
#if defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
(без восклицательного знака!!!)

это очень печально, так как я ВООБЩЕ не знаю как это забороть
помогите пожалуйста!

Отправлено: 20:28, 11-04-2011

 

Googler


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

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


Цитата emekhedova:
не знаю как это забороть »
перенести SETLOCAL/ENDLOCAL в цикл:
Код: Выделить весь код
set context=AAA
set replace=BBB
set tmpfile=1.tmp
copy nul %tmpfile%
for /F "usebackq delims==" %%s in (myfile.txt) do (
 set string=%%s
 SETLOCAL EnableDelayedExpansion
 set string=!string:%context%=%replace%!
 echo !string!>>%tmpfile%
 ENDLOCAL
)
move /y %tmpfile% myfile.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:39, 11-04-2011 | #2



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

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


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


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

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


ОЙ!!!
Счастье то какое!!!
СПАСИБО!!!!

Отправлено: 20:45, 11-04-2011 | #3


Аватара для yurfed

Ветеран


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

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


Цитата emekhedova:
ОЙ!!!
Счастье то какое!!!
СПАСИБО!!!! »
Спасибо человеку скажите. Просто нажмите под его постом "Полезное сообщение". Это займёт пару секунд.
Вам пустяк, а человеку приятно

-------
Хочу ли я - Могу ли я - Говно ли я - Магнолия


Отправлено: 20:49, 11-04-2011 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочее - Тормозит "Удаленный рабочий стол" при копировании файлов. dzekka Сетевые технологии 7 01-09-2011 18:20
Разное - Как изменить добавление надписи "Копия" при копировании файла в исходную директорию Keleborn Microsoft Windows 2000/XP 3 08-07-2009 14:21
Интерфейс - [решено] При просмотре папок в "мой компьютер" и "проводнике" каждая новая папка открывается в mr.R Microsoft Windows 2000/XP 14 07-08-2008 00:33
Разное - [решено] Вместо "Мой компьютер" или при двойном щелчке на папке открывается "Поиск" ZoolooS Microsoft Windows 2000/XP 4 18-06-2008 16:34
Запретить/удалить пункт "Programs" ("Программы") из меню кнопки "Start" ("Пуск") submaster Microsoft Windows NT/2000/2003 5 13-09-2006 12:29




 
Переход