@echo off
setlocal EnableDelayedExpansion
for %%f in (inbox.html) do (
findstr /N ^^ "%%f" > "%%~Nf.tmp"
echo :EOF>> "%%~Nf.tmp"
call :InsertLine1 < "%%~Nf.tmp" > "%%~Nf.out"
REM del "%%f"
REM del "%%~Nf.tmp"
REM ren "%%~Nf.out" "%%~Nf.php"
)
goto :EOF
:InsertLine1
for /L %%i in (1,1,0) do (
set /P line=
echo(!line:*:=!
)
echo ^<?ph^p
echo ^if(!$user->is_logged_in())^{
echo ^header('Location: login.php'); ^}
echo ^?^>
:copyRestOfLines
set /P line=
if "!line!" == ":EOF" exit /b
echo(!line:*:=!
goto copyRestOfLines
这是它应该生成的批处理代码
<?php
if(!$user->is_logged_in()){
header('Location: login.php'); }
?>
但是我得到
<?php
header('Location: login.php'); }
?>
如果有人可以帮助我,我将非常感激,因为这节省了我编辑13000个文件,添加了三行代码。
谢谢你的时间,我希望你能帮助
我认为,你没有得到转义字符的概念(通过^
)
用于转义特殊字符。在您的示例中需要转义的唯一特殊字符是>
和<
echo ^<?php
echo if(!$user-^>is_logged_in()){
echo header('Location: login.php'); }
echo ?^>
PS:不要忘记删除is_logged_in()){
文件