2010-09-19 88 views
0

這就是我需要的。使用DOS查找並替換批處理文件

比方說有TEMP.TXT 比方說TEMP.TXT有以下內容的文件:

[email protected] 
[email protected] 
[email protected] 

我的批處理文件create.bat應該問三個參數作爲來自用戶的輸入, ,然後用相應的值替換temp.txt。

說。

Pls enter your name:Tom 
Tom - Confirm Y/N: Y 
<<now anywhere the temp.txt says @name, it is replace by Tom>> 

請幫我寫一個腳本嗎?

謝謝, Naveen。

回答

0
rem @echo off 

setlocal enabledelayedexpansion enableextensions 

rem Don't use the same file name for both here 
set InputFile=temp.txt 
set OutputFile=temp2.txt 

call :ask name name 
call :ask age age 
call :ask "e-Mail address" email 

del %OutputFile% 1>nul 2>&1 
for /f "delims=" %%l in (%InputFile%) do (
    set Line=%%l 
    set Line=!Line:@name=%name%! 
    set Line=!Line:@age=%age%! 
    set Line=!Line:@email=%email%! 
    >>%OutputFile% echo.!Line! 
) 

goto :eof 

rem :ask "placeholder title" variable_name 
:ask 
set /p %2=Please enter your %~1: 
choice /M "!%2! - Confirm" 
if errorlevel 2 goto ask 
goto :eof