Bat腳本批處理 替換一個文件目錄下面的所有指定文件類型的 字符串


因為最近工作在做及其無聊的批量修改代碼工程,所以涉及到一些 修改路徑文本的替換

人懶各種google,度娘,搜索了一個不錯的demo

@echo off

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

echo ***** Replace "old" as "new" *****
rem 定義要替換的新舊字符串
set strOld=testOldStr
set strNew=testNewStr

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

rem 循環取出要處理的文件名
for /f "tokens=*" %%i in ('dir C:\Users\yitingq\Desktop\test\*.txt /b') 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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM