как из bat файла дописать символ в текстовый файл?
Добрый день! при поиске по форуму ничего подходящего не нашёл.
Нужно из бат файла найти в тектовом файле определенную строку, и дописать в её начало символ ;. И ещё один вопрос, не помешает ли поиску символы $ и |уже прописанные в этои строке?
|
Цитата:
Цитата idzs
найти в тектовом файле определенную строку »
|
слишком туманно - что значит "определенную" - по номеру, полному, частичному совпадению или еще как?..
Цитата:
Цитата idzs
не помешает ли поиску символы $ и |уже прописанные в этои строке? »
|
при желании можно учесть и это
|
Вот строка в текстовом файле, которая более не повторяется- Item01=$(ExecuteRoot)\strm\instshell.dll|IntegrEnabled, нужно через бат файл дописать в начало символ ; т.е. получится ;Item01=$(ExecuteRoot)\str.............
|
как-то так:
Код:
@echo off
CALL:MAIN file.txt "Item01=$(ExecuteRoot)\strm\instshell.dll|IntegrEnabled"
EXIT/b
:MAIN %file_name% %commenting_line%
::----------------------------------
SETLOCAL DisableDelayedExpansion
(for /f "tokens=* delims=0123456789" %%a in ('type "%~1"^|findstr /n "$"') do (set "$a=%%a"
SETLOCAL EnableDelayedExpansion
if /i "!$a:~1!"=="%~2" (echo ;!$a:~1!) else echo(!$a:~1!
ENDLOCAL
))>"%~dpn0.tmp"
copy /y "%~dpn0.tmp" "%~1" >nul&& del "%~dpn0.tmp"
ENDLOCAL& exit /b
|
amel27 большое спасибо! все работает!!!
|
amel27 можно ещё один последний глупый вопрос? А как допустим убрать символ ; , если он в этой строке уже вписан вначале (отдельным батником)
|
idzs, аналогично:
Код:
@echo off
CALL:MAIN file.txt "Item01=$(ExecuteRoot)\strm\instshell.dll|IntegrEnabled"
EXIT/b
:MAIN %file_name% %uncommenting_line%
::----------------------------------
SETLOCAL DisableDelayedExpansion
(for /f "tokens=* delims=0123456789" %%a in ('type "%~1"^|findstr /n "$"') do (set "$a=%%a"
SETLOCAL EnableDelayedExpansion
if /i "!$a:~1!"==";%~2" (echo !$a:~2!) else echo(!$a:~1!
ENDLOCAL
))>"%~dpn0.tmp"
copy /y "%~dpn0.tmp" "%~1" >nul&& del "%~dpn0.tmp"
ENDLOCAL& exit /b
|
Время: 16:10.
© OSzone.net 2001-