i have problem in script:
@echo on setlocal enabledelayedexpansion pushd c:\users\oskars.abuhovs\desktop\testjstoreplace /f "delims=" %%a in ('dir /b /a-d-h-s') ( set newfile=c:\users\oskars.abuhovs\desktop\tempjs\%%a if exist !newfile! del /f /q !newfile! /f "delims=" %%l in (%%a) ( set newline=%%l echo !^newline:dojo/i18n=ggggggggg^^!dddd! >> !newfile! ) ) popd pause
the problem in row:
echo !^newline:dojo/i18n=ggggggggg^^!dddd! >> !newfile!
where character ! not escaped, read in setlocal enabledelayedexpansion
! character should escaped using ^^
, not happening. how can escape character?
edited:
i want replace part of string in files. particular string dojo/i18n
should replaced string, contains !. example dojo/i18n!mycomputer
.
whole script reads files folder, search every file line line searching string: dojo/i18n
, when found, string should replace mentioned text dojo/i18n!mycomputer
, contains !. tried escaping ! character 2 ^^ supposed work when setlocal enabledelayedexpansion
, combination: ^^! not work in line, when tried simple echo ^^!
worked.
so asking how escape ! character in line?
thanks in advance!
this might work you:
@echo off setlocal enabledelayedexpansion pushd "c:\users\oskars.abuhovs\desktop\testjstoreplace" /f "delims=" %%a in ('dir /b /a-d-h-s') ( set "newfile=c:\users\oskars.abuhovs\desktop\tempjs\%%~a" if exist "!newfile!" del /f /q "!newfile!" /f "delims=" %%l in ("%%~a") call:doline "%%~l" "!newfile!" ) popd pause goto:eof :doline setlocal disabledelayedexpansion set "newline=%~1" echo %newline:dojo/i18n=ggggggggg!dddd% >> "%~2" endlocal goto:eof
Comments
Post a Comment