bat批處理的基本命令和使用方法
批處理命令是一種用于在 Windows 操作系統(tǒng)中自動(dòng)執(zhí)行任務(wù)的工具。批處理命令通常以 .bat 或 .cmd為擴(kuò)展名。一些常用的批處理命令如下:
- echo:用于在控制臺顯示文本信息。
- set:用于創(chuàng)建或修改環(huán)境變量。
- if:用于在批處理文件中進(jìn)行條件判斷。
- for:用于循環(huán)讀取文件或列表中的數(shù)據(jù)。
- goto:用于跳轉(zhuǎn)到批處理文件中的指定標(biāo)簽。
- call:用于調(diào)用另一個(gè)批處理文件。
- md:用于創(chuàng)建新的目錄。
- cd:用于切換到當(dāng)前目錄。
- del:用于刪除文件。
- copy:用于復(fù)制文件。
- xcopy:用于復(fù)制目錄。
- start:用于啟動(dòng)應(yīng)用程序或文件。
- taskkill:用于終止運(yùn)行的任務(wù)。
- ping:用于測試網(wǎng)絡(luò)連接。
- netstat:用于顯示網(wǎng)絡(luò)狀態(tài)。
echo:使用 echo 命令可以在控制臺顯示文本信息,例如:
echo Hello World!
set:使用 set 命令可以創(chuàng)建或修改環(huán)境變量,例如:
set name=John echo My name is %name%
if:使用 if 命令可以在批處理文件中進(jìn)行條件判斷,例如:
set num=10 if %num% lss 20 ( echo %num% is less than 20 ) else ( echo %num% is greater than or equal to 20 )
for:使用 for 命令可以循環(huán)讀取文件或列表中的數(shù)據(jù),例如:
for /f "tokens=1" %i in (file.txt) do ( echo %i )
goto:使用 goto 命令可以跳轉(zhuǎn)到批處理文件中的指定標(biāo)簽,例如:
goto start echo This line will not be executed :start echo This line will be executed
call:使用 call 命令可以調(diào)用另一個(gè)批處理文件,例如:
call sub.bat echo This line will be executed after sub.bat
md:使用 md 命令可以創(chuàng)建新的目錄,例如:
md 123456
cd:使用 cd 命令可以切換到當(dāng)前目錄,例如:
cd newfolder
del:使用 del 命令可以刪除文件,例如:
del file.txt
copy 命令可以復(fù)制文件,例如:
copy source.txt destination.txt
實(shí)例:復(fù)制007.txt到當(dāng)前目錄的所有子目錄里
在復(fù)制 “007.txt” 到子目錄之前,使用 if exist 命令判斷子目錄中是否已經(jīng)存在 “1.txt”。如果存在,則復(fù)制該文件。否則,不復(fù)制。并且做出相應(yīng)的提示在運(yùn)行該腳本之前,請確保 “1.txt” 在當(dāng)前目錄中。
@echo off for /d %%d in (*) do ( ? if exist "%%d\007.txt" ( ? ? echo %%d"...........exist..............." ? ) else ( ? ? copy 007.txt "%%d\" ? echo %%d "...........ok..............." ? ) ) pause
xcopy:使用 xcopy 命令可以復(fù)制目錄,例如:
xcopy sourcefolder destinationfolder /s
pause:使用 pause 命令可以暫停批處理文件的執(zhí)行,等待用戶按下任意鍵,例如:
pause
以下是一些其他例子:來源于回答貼吧網(wǎng)友提問
復(fù)制多個(gè) txt 文件中固定兩行位置的數(shù)據(jù),并把讀取的數(shù)據(jù)一起放到同一個(gè)新的 txt 文件。
@echo off set "outputfile=output.txt" REM 清空輸出文件 echo. > %outputfile% REM 遍歷所有 txt 文件 for /f "delims=" %%i in ('dir /b *.txt') do ( REM 讀取每個(gè)文件的第二行和第三行 for /f "skip=1 tokens=*" %%j in ('type "%%i"') do ( echo %%j >> %outputfile% goto :next ) :next for /f "skip=2 tokens=*" %%j in ('type "%%i"') do ( echo %%j >> %outputfile% ) ) echo 數(shù)據(jù)已經(jīng)提取到文件 %outputfile% 中。
用批處理文件自動(dòng)連接網(wǎng)絡(luò)大打印機(jī),win7,win10通用那種
@echo off set printer=\\network-printer\printer-name rundll32 printui.dll,PrintUIEntry /in /n "%printer%"
該腳本使用 rundll32 命令連接網(wǎng)絡(luò)打印機(jī)。您只需要修改 printer 變量的值,替換為網(wǎng)絡(luò)打印機(jī)的名稱和路徑即可。在運(yùn)行該腳本之前,請確保您已經(jīng)有了訪問網(wǎng)絡(luò)打印機(jī)的權(quán)限。
把文件名末尾 -數(shù)字 消去,并重新命名。例如ab-cd-0102.jpg修改成ab-cd.jpg ,jui-eh-dj-02088.jpg修改成jui-eh-dj.jpg
@echo off for %%i in (*.*) do ( ? set "filename=%%~ni" ? set "extension=%%~xi" ? set "newname=" ? REM 如果文件名的最后四個(gè)字符為 "-數(shù)字" 格式,則去掉這個(gè)后綴 ? if "!filename:~-5!"=="-?????" ( ? ? set "newname=!filename:~0,-6!!extension!" ? ) else ( ? ? set "newname=%%i" ? ) ? REM 如果新文件名與原文件名不同,則重命名文件 ? if not "!newname!"=="%%i" ( ? ? echo 重命名 "%%i" 為 "!newname!" ? ? ren "%%i" "!newname!" ? ) )
該腳本使用 for 循環(huán)遍歷當(dāng)前目錄下的所有文件,將每個(gè)文件名的最后四個(gè)字符與 “-數(shù)字” 進(jìn)行比較,如果是該格式,則將其去掉。如果新文件名與原文件名不同,則重命名文件。
到此這篇關(guān)于bat批處理的基本命令和使用方法的文章就介紹到這了,更多相關(guān)bat批處理基本命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用bat批處理實(shí)現(xiàn)163郵箱自動(dòng)登陸的代碼[已測]
用bat批處理實(shí)現(xiàn)163郵箱自動(dòng)登陸效果的代碼,比較適合懶人與對電腦不是很精通的朋友,但需要注意的事這樣是不安全的,如果郵箱有一些很重要的信息請不要使用這個(gè)2012-05-05BAT 批處理腳本教程(詳細(xì)篇腳本之家補(bǔ)充)
這篇文章主要介紹了BAT 批處理腳本教程詳細(xì)篇,并且腳本之家給了補(bǔ)充,想學(xué)習(xí)bat的朋友可以參考下2018-12-12bat定時(shí)自動(dòng)關(guān)機(jī),bat自動(dòng)結(jié)束任務(wù)關(guān)閉程序,dos自動(dòng)結(jié)束程序后關(guān)機(jī)
bat定時(shí)自動(dòng)關(guān)機(jī),bat自動(dòng)結(jié)束任務(wù)關(guān)閉程序,dos自動(dòng)結(jié)束程序后關(guān)機(jī)的命令介紹2012-12-12用bat實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)的批處理文件
用bat實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù)的批處理文件...2007-05-05