如何用bat批處理更改指定ini檔案內的指定內容

2022-01-08 16:58:29 字數 5039 閱讀 4178

1樓:匿名使用者

attrib -s -h 配置檔案.inifor /f "delims=" %%a in (配置檔案.ini) do (

set str=%%a

>>1.ini

)move 1.ini 配置檔案.ini

請在c盤根目錄下執行!

希望能夠幫助你,望採納!謝謝!

2樓:匿名使用者

@echo off

setlocal enabledelayedexpansioncd c:\

set f=配置檔案.ini

for /f "tokens=1,2 delims==" %%i in ('findstr "=" "%f%"') do set #%%i=%%j

set #驗證資訊=ghijkl

(for /f "delims==" %%i in (%f%) do if defined #%%i (echo %%i=!#%%i!) else echo %%i)>%f%.

newmove /y %f%.new %f%>nul

3樓:匿名使用者

@echo off

for /f "tokens=1-2* delims==" %%a in (c:\配置檔案.ini) do if %%a==驗證資訊 (echo %%a^=ghijkl>>new.

ini) else echo %%a^=%%b>>new.ini

del c:\配置檔案.ini

move new.ini c:\配置檔案.ini

批處理如何實現文字檔案中指定行內容的替換?

4樓:匿名使用者

1、首先,準備一個conf.ini,內容如下圖所示。現在要將title的值修改「我是新標題」。

2、如果ini內的檔案比較簡單,其次可以直接新生成一個。

3、執行一下**,效果如下,可以看到ini內容已經修改。

4、假設不知道ini的具體內容,只是知道其中有「我是新標題」,現在要將「我是新標題」替換成"newtitle"。

5、如果ini檔案原內容如下圖所示。

6、執行指令碼後,得到的新ini文字就變成如下圖所示了。因為我們生成了中間檔案,所以在指令碼最後,一定要記得刪除該檔案 del  tmp.txt。

注意事項:

批處理應用於dos和windows系統中,它是由dos或者windows系統內嵌的命令直譯器(通常是command. com或者cmd.exe)解釋執行。

5樓:睿之銳

指定行也可以:本批指定了第5行不等於「defa=test」則替換為「defa=test」,等於退出。

if exist "templog.txt" del /q /f /a "templog.txt"

set /p file=請把你要處理的文字檔案拖到本視窗:&set "file=!file:"=!"

for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (

echo %%b>>"templog.txt"):p

echo defa=test>>"templog.txt"

more +5 "%file%">>"templog.txt"

ren "%file%" "%t%【%random%】%k%"

copy "templog.txt" "%g%%p%"

del /q /f /a "templog.txt"

start "" "%file%"&exit

測試文字內容:

有一個配置文字檔案,首先要

查詢其中的某行(假定為第5行)的內容

是否與指定字串(假定指

定字串為「

defa=testa

」)完全相同,如不是,則

用指定的字串將該行的內容替換掉,請問

用批處理檔案如何實現?

定字串為「

defa=testa

」)完全相同,如不是,則

用指定的字串將該行的內容替換掉,請問

用批處理檔案如何實現?

有一個配置文字檔案,首先要

查詢其中的某行(假定為第5行)的內容

是否與指定字串(假定指

定字串為「

defa=test

」)完全相同,如不是,則

用指定的字串將該行的內容替換掉,請問

用批處理檔案如何實現?

定字串為「

defa=testa

」)完全相同,如不是,則

用指定的字串將該行的內容替換掉,請問

用批處理檔案如何實現?

6樓:匿名使用者

比如有個a.ime檔案,要把他裡面的123456改成654321方法如下

@echo off

ren a.ime a.txt

setlocal enabledelayedexpansionfor /f "tokens=*" %%a in (a.txt) do (

set var=%%a

set var=!var:123456=654321!

echo !var!>>b.txt

)endlocal

ren b.txt a.ime

del a.txt

把上面的內容儲存為批處理檔案,並讓他和ime檔案放同一資料夾下(桌面也可以)

7樓:匿名使用者

@echo off

set/p .=請輸入指定字串:

for /f "tokens=1,2 delims==" %%a in ("%.%")do (

set "a=%%a"

set "b=%%b"

)for /f "tokens=1,2 delims==" %%b in (config.ini)do (

if %%b==%a% (echo/%a%=%b%>>config_.ini

) else echo %%b=%%c>>config_.ini)move config_.ini config.inistart config.ini

這裡假定是config.ini檔案!

8樓:匿名使用者

開啟文字文件,右上角有查詢替換,操作下就行了。

9樓:

對不起,理解錯了:(

如何寫bat 修改指定檔案內容,並儲存

10樓:12345額時代

1、首先要建立一個bat檔案bat檔案可以由txt直接修改 只需要修改.txt為.bat即可。

2、右鍵進入編輯模式 此時bat以txt的方式開啟。

3、在txt中輸入括號內不需要@echo off 《路徑顯示關閉》,pause《暫停》。

4、進行儲存,然後直接執行,如果沒有@echo off 你下面的編碼會帶有檔案位置如果沒有pause 開啟後立刻關閉。

5、按如圖方式在原有新增echo 內容 《顯示 內容》即如圖效果。

6、如果按如圖編寫方式goto a 《到達a處》:a 《路標a>即使程式重複顯示。

11樓:愈未央

rem 定義變數延遲環境,關閉回顯

rem 讀取a.txt所有內容

for /f "eol=* tokens=*" %%i in (a.txt) do (

rem 設定變數a為每行內容

set a=%%i

rem 如果該行有123,則將其改為456set "a=!a:123=456!"

rem 把修改後的全部行存入$

echo !a!>>$)

rem 用$的內容替換原來a.txt內容

move $ a.txt

12樓:匿名使用者

@echo off

chcp 65001

rem 批量替換d:\temp目錄下的所有檔案,把 「123」替換為「456」

rem tardir目標目錄 strold原字串 strnew目標字串

set tardir=d:\temp

set strold=123

set strnew=456

rem 定義變數修改本地化延期

setlocal enabledelayedexpansion

rem 迴圈取出要處理的檔名

rem for /r %%i in (.,*) do (

for /f "tokens=*" %%i in ('dir %tardir% /b') do (

set "var=%%i"

if not !var!.==. (

rem 單個檔案一行行處理,將舊欄位替換成新欄位

for /f "tokens=*" %%j in (%tardir%!var!) do (

set "tmp=%%j"

if not !tmp!.==. (

rem 將處理後的每一行記錄追加到temp.txt檔案中

echo !tmp!>>temp.txt))

rem 在單個檔案的每一行經過替換操作後,將處理後的文字從temp.txt臨時檔案剪貼到目標處理檔案中(剪貼後臨時檔案會自動刪除)

move temp.txt %tardir%!var!))

bat 批處理 文字修改,如何利用BAT批處理修改檔名及檔案中內容??

rem 複製後請把每行後面的空格去掉 set p str tmp.txt tmp.vbs echo wscript.echo replace createobject scripting.filesystemobject opentextfile tmp.txt readall,vbcrlf for...

求bat批處理檔案,求一個bat批處理檔案

以下 複製貼上到記事本,另存為xx.bat,編碼選ansi,跟要處理的多個資料夾放一起雙擊執行 cls echo off rem 將多個資料夾裡的一個指定名稱的子資料夾裡的最後一張jpg提取 拷貝 複製到同一個指定新資料夾 title z cd d dp0 powershell noprofile ...

bat批處理中分割字串,批處理中 型別變數的字串擷取問題

很簡單呀,如下 echo off set p p 請輸入一個合法的檔案路徑,注意,是合法的 for f delims i in p do set filep dpi set filen nxi echo 資料夾為 filep 檔名為 filen pause echo off echo 分離出傳遞引數...