2014-04-25 55 views

回答

4

使用下面這樣的例子批處理文件,在file.txtorange取代apple和寫入變成newfile.txt

changefile.bat "apple" "orange" "file.txt" >"newfile.txt" 

檢查DOS Batch - Find and Replace

@echo off 
REM -- Prepare the Command Processor -- 
SETLOCAL ENABLEEXTENSIONS 
SETLOCAL DISABLEDELAYEDEXPANSION 

::BatchSubstitude - parses a File line by line and replaces a substring" 
::syntax: BatchSubstitude.bat OldStr NewStr File 
::   OldStr [in] - string to be replaced 
::   NewStr [in] - string to replace with 
::   File [in] - file to be parsed 
:$changed 20100115 
:$source http://www.dostips.com 
if "%~1"=="" findstr "^::" "%~f0"&GOTO:EOF 
for /f "tokens=1,* delims=]" %%A in ('"type %3|find /n /v """') do (
    set "line=%%B" 
    if defined line (
     call set "line=echo.%%line:%~1=%~2%%" 
     for /f "delims=" %%X in ('"echo."%%line%%""') do %%~X 
    ) ELSE echo. 
) 
+0

沒有對我的工作。 –

+1

看看上面改變的答案。 – foxidrive

相關問題