emekhedova |
11-04-2011 20:28 1656017 |
теряется "!" при копировании строк
заменяю в файле 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)
(без восклицательного знака!!!)
это очень печально, так как я ВООБЩЕ не знаю как это забороть
помогите пожалуйста!
|
Цитата:
Цитата 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
|
emekhedova |
11-04-2011 20:45 1656037 |
ОЙ!!!
Счастье то какое!!!
СПАСИБО!!!!
|
Цитата:
Цитата emekhedova
ОЙ!!!
Счастье то какое!!!
СПАСИБО!!!! »
|
Спасибо человеку скажите. Просто нажмите под его постом "Полезное сообщение". Это займёт пару секунд.
Вам пустяк, а человеку приятно
|
Время: 08:43.
© OSzone.net 2001-