1樓:匿名使用者
如果有特殊字元!會出錯啊。說明:
setd=!d:^=是吧替換成了兩個空格,你可以改成沒有空格。
儲存為bat檔案。在txt檔案所在目錄裡執行。@echooffecho0>tem>nulsetlocalenabledelayedexpansionfor/f"delims="%%ain('dir/a-d/b*.
b!"')do(setd=%%nif"!d!
"==""(echo.>>!g!
tem)else(setd=!d:^=!
&echo!d!>>!
g!tem))del"!b!
"ren"!g!tem"!
h!)exit
2樓:匿名使用者
樓上這樣的話,b.xml檔案內容會消失建議copyb.xmlc.xmlcopya.xmlb.xmlcopyc.xmla.xml用中間變數就可以了!
批處理檔案替換指定txt檔案內容
3樓:匿名使用者
如果不涉及秘密,最好提供檔案給答題人。或者你先改掉涉密的字元。
原因是批處理在處理一下特殊字元的時候,如果在指令碼中不做處理,就會報錯。
按照你的描述,實現起來不難。
批處理如何實現文字檔案中指定行內容的替換?
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樓:
對不起,理解錯了:(
批處理替換指定文件中的指定內容 5
10樓:
@echo off
setlocal enabledelayedexpansionsetlocal enableextensionsset input=
set /p input=請輸入數字:
set f="r:\aaa.txt"
set f2="r:\aaa.bak.txt"
if exist %f2% del %f2%for /f "tokens=* delims=%" %%l in ('type %f%') do (
set line=%%l
set line=!line:我的=你的!
set line=!line:上下=上下%input%!
echo !line!>>%f2%
) @echo 完成了
@pause
上面的儲存為bat執行。其中的r:\aaa.txt為要替換的文件,aaa.bak.txt為替換後的輸出文件,都換成你自己的路徑。執行後可以實現你要的功能
批處理將a檔案中的指定內容替換b檔案中的指定內容 105
11樓:我愛一條柴
假定復你的a.xml在d盤下
@制echo off
setlocal enabledelayedexpansion
set x=d:\a.xml
set x2=d:\a1.xml
set x3=d:\a2.xml
set y=d:\b.xml
for /f "delims=" %%i in (%x%) do (
set line=%%i
set "line=!
bailine:你好=你好2!"
echo !line!>>%x2%
) for /f "delims=" %%j in (%x2%) do (
set line2=%%j
set "line2=!line2:#ffffff=#333334!"
echo !line2!>>%x3%
) for /f "delims=" %%k in (%x3%) do (
set line3=%%k
set "line3=!line3:#000000=#444444!"
echo !line3!>>%y%
) del /f /q %x2%
del /f /q %x3%
我這個du東西還不能完zhi全滿足你那個要求,你說dao的從乙個文字中定點提取乙個文字為值可以實現,但是無法把這個變數值跟第二個需要修改的檔案的指定內容關聯寫入!至少我現在沒有找到辦法!
12樓:匿名使用者
樓上這樣的話,b.xml檔案內容會消失
建議copy b.xml c.xml
copy a.xml b.xml
copy c.xml a.xml
用中間變數就可以了!
13樓:匿名使用者
說實話你這來問題描自述的還是不夠清楚,
a.xml 中的那段bai文字du是不是在文zhi本的開頭dao?(如果是開頭的5行,那麼很簡單)
a與b不同的不同的文字在什麼位置,(如果不確定,可以找到這段文字的 唯一 標記是什麼?)
那麼如何讓程式來識別,那段文字的位置。(如果可以確定文字段的位置,會簡單好多)
批處理查詢指定字元的資料夾並其所在的路徑輸出到文字
echo off title 列出指定字串的資料夾路徑 by 依夢琴瑤 for a in c d e f g do pushd a for f delims b in dir ad s b ycrsjcs do echo b popd 指定字串資料夾路徑.txt 用批處理找出txt文字中的特定字串,...
批處理顯示文字中重複出現的內容,批處理比對多文字檔案的 找出相同內容另存為乙個文字
你太想當然了。批處理最不擅長的就是進行字串處理。建議你還是學乙個sed或者gawk之類的專門用來處理字串的工具的用法。需要學正規表示式,太麻煩,平常用不到,好不容易學會了,幾天就忘了。echo off setlocal enabledelayedexpansion for f tokens i in...
求一段刪除的批處理檔案
暈,的只能刪除檔案額,資料夾是刪除不了的用rd命令舉例,比如刪除c盤的windows資料夾 這是個刪除不了的資料夾 rd s q c windows del f q a 0 這樣就行 如果刪除的資料夾中間帶空格的話記得加引號不然分開級個資料夾來刪除也就刪除不了 刪除自身已經改了,看上面在後面加del...