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 分離出傳遞引數...