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 ...