p批處理替換目錄下文本中的字符串

@echo off

rem 進入批處理文件所在的路徑
cd C:\Users\zxh\Desktop\123

echo ***** Replace "123" as "abc" *****
rem 定義要替換的新舊字符串
set strOld=123
set strNew=abc

rem 定義變量修改本地化延期
setlocal enabledelayedexpansion

rem 循環取出要處理的文件名
for /f "tokens=*" %%i in ('dir C:\Users\zxh\Desktop\123\*.txt /b /s') do (
    set "var=%%i"
    if not !var!.==. (
rem 單個文件一行行處理,將舊字段替換成新字段
    for /f "tokens=*" %%j in (!var!) do (
        set "tmp=%%j"
        if not !tmp!.==. (
          set "tmp=!tmp:%strOld%=%strNew%!"
          rem 將處理後的每一行記錄追加到temp.txt文件中
          echo !tmp!>>temp.txt
        )
    )
    rem 在單個文件的每一行通過替換操做後,將處理後的文本從temp.txt臨時文件剪貼到目標處理文件中(剪貼後臨時文件會自動刪除)
    move temp.txt !var!
    )
)

pause
相關文章
相關標籤/搜索