bat批處理修改檔案內容,bat批處理修改檔案內容

2022-01-07 05:26:05 字數 5311 閱讀 9815

1樓:雲修網

批處理是一種簡化的指令碼語言,也稱作巨集。它應用於dos和windows系統中,它是由dos或者windows系統內嵌的命令直譯器(通常是command. com或者cmd.

exe)解釋執行。類似於unix中的shell指令碼。批處理檔案具有.

bat或者.cmd的副檔名,其最簡單的例子,是逐行書寫在命令列中會用到的各種命令。更復雜的情況,需要使用if,for,goto等命令控制程式的執行過程,如同c,basic等中高階語言一樣。

如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批處理檔案,或稱為批處理程式,是由一條條的dos命令組成的普通文字檔案,可以用記事本直接編輯或用dos命令建立,也可以用dos下的文字編輯器edit.exe來編輯。

在「命令提示」下鍵入批處理檔案的名稱,或者雙擊該批處理檔案,系統就會呼叫cmd.exe執行該批處理程式。一般情況下,每條命令佔據一行;當然也可以將多條命令用特定符號(如:

&;、&&;、|、||等)分隔後寫入同一行中;還有的情況就是像if、for等較高階的命令則要佔據幾行、幾十甚至幾百行的空間。系統在解釋執行批處理程式時,首先掃描整個批處理程式,然後從第一行**開始向下逐句執行所有的命令,直至程式結尾或遇見exit命令或出錯意外退出。

bat裡批量修改文字檔案裡的內容!

2樓:很多很多

1、首先滑鼠右鍵單擊電腦桌面,選擇新建一個文字文件。

@echo off

for /f "delims=" %%i in ('dir /s/b *.txt') do (

for /f "delims=" %%a in ('type "%%~fi"') do (

set "foo=%%a"

call,set foo=%%foo:1234=4311%%call,echo/%%foo%%>>"%%~fi._"

move "%%~fi._" "%%~fi"

exit

3、然後點選選擇編輯頁面左上角檔案中的「另存為」。

4、然後在彈出來的視窗中,將檔名的字尾更改成「.bat」 ,選擇儲存的目錄,回車確定。

5、然後去到儲存的目錄,找到下圖中的程式,雙擊它就完成了。

3樓:心的舞臺

操作裝置:戴爾電腦

作業系統:win10

第一步、首先滑鼠右鍵單擊電腦桌面,選擇新建一個文字文件,如下圖所示。

第二步、然後開啟新建文字文件,輸入下方的**:@echo off.for /f "delims=" %%i in ('dir /s/b *.

txt') do (for /f "delims=" %%a in ('type "%%~fi"') do (set "foo=%%a".call,set foo=%%foo:1234=4311%%call,echo/%%foo%%>>"%%~fi.

_")move "%%~fi._" "%%~fi")exit

第三步、然後點選選擇編輯頁面左上角檔案中的「另存為」,如下圖所示。

第四步、然後在彈出來的視窗中,將檔名的字尾更改成「.bat」 ,選擇儲存的目錄,回車確定,如下圖所示。

第五步、然後去到儲存的目錄,找到下圖中的程式,雙擊它就完成了,如下圖所示。

4樓:拉拉君婷

逗號不要錢的,看著太累了!

新建一個txt文字,字尾改為bat,裡面複製進去下面的**,把需要替換的資料夾拖進去,按回車:(*.txt是檔案字尾可改,set a=!

a:1234=4311!複製這一行並修改可以替換多個需要替換的內容)

@echo off

setlocal enabledelayedexpansion:tou

set /p wjj=拖入資料夾:

for /r %wjj% %%i in (*.txt) do (for /f "delims= usebackq" %%j in ("%%i") do (

set a=%%j

set a=!a:1234=4311!

echo !a!

)>>臨時檔案.txt

move 臨時檔案.txt "%%i"

goto:tou

5樓:千羽之城

@echo off

for /f "delims=" %%i in ('dir /s/b *.txt') do (

for /f "delims=" %%a in ('type "%%~fi"') do (

set "foo=%%a"

call,set foo=%%foo:1234=4311%%

call,echo/%%foo%%>>"%%~fi._"

)move "%%~fi._" "%%~fi"

)exit

以上為批處理**,儲存為bat檔案,雙擊執行,使用前備份檔案。另給出vbs方案:

set wshshell = createobject("wscript.shell")

wshshell.run "cmd /c dir /s/b *.txt > list.txt",vbhide

wscript.sleep 1000

sfile = "list.txt"

set objfso = createobject("scripting.filesystemobject")

set ofile = objfso.opentextfile(sfile,1)

do while not ofile.atendofstream

strline = ofile.readline

if len(strline) > 0 then

set file = objfso.opentextfile(strline, 1)

arylines = file.readall

file.close

arylines = replace(arylines, "1234", "4311")

set file = objfso.opentextfile(strline, 2)

file.write arylines

file.close

end if

loop

ofile.close

objfso.deletefile sfile

set objfso = nothing

儲存為vbs檔案,放到txt檔案目錄,雙擊執行。

----------------------------------------

兩段**都可以實現批量替換,無論在該資料夾的深度是多少。不用開啟txt直接替換。不懂可以hi我。

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

6樓: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>即使程式重複顯示。

7樓:愈未央

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

8樓:匿名使用者

@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!))

請問如何用批處理來修改一個檔案中的部分內容?

9樓:匿名使用者

比如有個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檔案放同一資料夾下(桌面也可以)

10樓:匿名使用者

用記事本開啟,再修改

另外這是輸入法的檔案改了有什麼用嗎

求批處理高手幫忙做bat批處理檔案

echo off if exist c a.exe start c a.exe else if exist c b.exe start c b.exe 用 if exist 檢測檔案或資料夾是否存在,然後在執行.如果批處理直接使用a.exe b.exe,那麼批處理會等待a.exe或b.exe退出後批...

怎麼寫批處理bat檔案來替換檔案

上面的都不對.echo off copy y c program files thunder userconfig.ini c program files thunder profiles userconfig.ini start c program files thunder thunder.ex...

如何製作 bat批處理檔案定時重啟軟體

在要關閉的軟體路徑下新建。bat檔案 如下 echo offecho 準備關閉360瀏覽器 taskkill f im 360se.exeecho 關閉軟體成功 echo 準備啟動360瀏覽器 echo 啟動軟體成功 echo 等待60秒後再次啟動 choice t 60 c ync cs d y ...