2014-05-11 51 views
0
@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'); } 
?> 

如果任何人都可以幫我這個,我將非常感激因爲這節省了我編輯的一千三千個文件,以便將它們添加到三行代碼中。

感謝您的時間,我希望您能幫到

回答

1

我想,你沒有得到轉義字符的概念(由^

它是用來逃跑的特殊字符。唯一需要特殊字符在你的例子進行轉義是><

echo ^<?php 
echo if(!$user-^>is_logged_in()){ 
echo header('Location: login.php'); } 
echo ?^> 

PS:不要忘了刪除文件is_logged_in()){