當前位置:編程學習大全網 - 編程軟體 - bat批處理修改文本文檔指定行的內容?

bat批處理修改文本文檔指定行的內容?

可以使用批處理中的for命令和if命令配合完成這個任務。具體的步驟如下:

@echo off

setlocal enabledelayedexpansion

set target="d:\tt\*.tog"

set pattern1=4

set content1=7701

set pattern2=-6

set content2=9912

for /r %target% %%a in (*) do (

set count=0

for /f "delims=" %%b in (%%a) do (

set /a count+=1

if !count!==%pattern1% (

echo %content1%>>temp.txt

) else if !count!==%pattern2% (

echo %content2%>>temp.txt

) else (

echo %%b>>temp.txt

)

)

move /y temp.txt "%%~dpa%%~na.tog" >nul

)

其中,%target%代表需要批量修改的目標文件,%pattern1%和%pattern2%分別代表第四行和倒數第六行及其後面的內容需要修改,%content1%和%content2%分別代表將要替換的內容。

代碼使用了兩個循環:第壹個for循環用於遍歷目標目錄下所有的.tog文件;第二個for循環用於遍歷每個文件的所有行,並在需要修改的行進行相應的操作。通過變量count計數,如果當前行是需要修改的行,則輸出新的內容到壹個臨時文件temp.txt中;否則直接將當前行原樣輸出。最後將臨時文件重命名為原文件名,完成修改。

請註意,這個代碼可能會將原文件名中的大寫字母全部轉換為小寫字母。如果需要保留原文件名的大小寫,可以修改move命令為:

move /y temp.txt "%%~dpa%%~na%%~xa" >nul

  • 上一篇:深圳市前景軟件有限公司怎麽樣?
  • 下一篇:tiktok怎麽充值金幣 海外軟件代充教程
  • copyright 2024編程學習大全網