【Windows批處理】常用內部命令簡介

ECHO 和 @

打開回顯或關閉請求回顯功能,或顯示消息。如果沒有任何參數,echo 命令將顯示當前回顯設置

echo

在這裏插入圖片描述

echo on
echo 第一個批處理

在這裏插入圖片描述

echo off
echo 第一個批處理

在這裏插入圖片描述
加@代表不顯示當前行命令自身,我們習慣上不顯示回顯,所以通常情況下這樣寫

@echo off
echo 第一個批處理

在這裏插入圖片描述

REM 和 ::

rem 是 註釋命令,它並不會被執行,只是起一個註釋的作用,便於別人閱讀和你自己日後修改。會回顯,受 echo on 和 echo off 控制
::也是註釋,但不會回顯。不建議使用

所以如果我們把回顯打開

@echo on
rem 這是一條註釋
:: 這也是一條註釋
echo Hello World

在這裏插入圖片描述

PAUSE

暫停命令。運行 Pause 命令時,將顯示下面的消息:Press any key to continue. . .(或:請按任意鍵繼續. . .)

@echo off
echo 端午
pause
echo 快樂

在這裏插入圖片描述

@echo off
echo 端午
echo 快樂 & pause > nul
echo 在家
pause
echo 待著吧

在這裏插入圖片描述
可以注意到 echo 快樂 & pause > nul 時沒有輸出。因爲已經把結果輸出重定向一個空設備,讓命令處理結果不顯示了2

TITLE、COLOR、MODE

title cmd窗口顯示的標題
color cmd控制檯顯示的顏色,前一位數字表示背景色,後一個字母則爲前景。每個數字可以爲以下任何值之一

0 = 黑色 1 = 藍色 2 = 綠色 3 = 湖藍色
4 = 紅色 5 = 紫色 6 = 黃色 7 = 白色
8 = 灰色 9 = 淡藍色 A = 淡綠色 B = 淡淺綠色
C = 淡紅色 D = 淡紫色 E = 淡黃色 F = 亮白色

mode 設置命令行窗口大小,cols是列,lines是行

@echo off
title 今日份批處理
mode con cols=40 lines=10 & color f2
echo Hello World

在這裏插入圖片描述

goto和:

在批處理中允許以":XXX"來構建一個標號,然後用GOTO XXX跳轉到標號:XXX處,然後執行標號後的命令

@echo off
:start
set /a var+=1
echo %var%
if %var% leq 3 goto start
pause

在這裏插入圖片描述

find 和 type

find:從文件中收索字符串
type:查看文件內容

@echo off
echo 111aaa > test.txt
echo 222bbb >> test.txt
find "111" test.txt
del test.txt
pause
echo 111 > test.txt
echo 222 >> test.txt
type test.txt | find "111"
del test.txt
pause

在這裏插入圖片描述

start

啓動單獨的"命令提示符"窗口來運行指定程序或命令。如果在沒有參數的情況下使用,start 將打開第二個命令提示符窗口

@echo off
start explorer d:\
echo hello

運行程序發現直接調用資源管理器顯示 d 盤內容,同時後邊的 hello 也輸出了,說明原來程序並沒有關閉
在這裏插入圖片描述

assoc 和 ftype

不同類型的文件,需要不同的文件查看器。例如xlsx表格需要使用Office Excel或WPS,PDF文件需要使用Adobe reader或福昕閱讀器等等。assoc的作用就是顯示或修改文件擴展名關聯

直接執行 assoc 顯示所有’文件擴展名’關聯,部分執行結果

assoc

在這裏插入圖片描述
顯示.txt代表的文件類型,結果顯示 .txt=txtfile;顯示 .doc 代表的文件類型,結果顯示 Word.Document.8

@echo off
assoc .txt

在這裏插入圖片描述
ftype:顯示文件類型關聯
如果直接執行 ftype,部分執行結果
在這裏插入圖片描述

ftype exefile

在這裏插入圖片描述

pushd、popd 和 CALL

這兩個命令的作用都是 切換當前目錄

@echo off
c: & cd\ & md mp3
md d:\mp4
cd /d d:\mp4
pushd c:\mp3
popd

在這裏插入圖片描述
執行這條命令後在 c 盤根目錄創建一個 mp3 文件夾,同時進入到了 c 盤根目錄。cd\ 是進入根目錄,md命令可以創建文件
在 D 盤創建一個 mp4 文件夾
進入到 d:\mp4 文件夾中,使用 /D 命令行開關,除了改變驅動bai器的du當前目錄zhi之外,還可改變當前驅動器
保存當前目錄,也就是 d:\mp4,然後進入 c:\mp3
恢復上次保存的目錄,也就是 d:\mp4

CALL命令可以在批處理執行過程中調用另一個批處理,當另一個批處理執行完後,再繼續執行原來的批處理。調用本文件內命令段,相當於子程序。被調用的命令段以標籤 :label 開頭
以命令 goto :eof 結尾。結合 pushd 和 popd 看一個栗子

@echo off
Echo 產生一個臨時文件 > tmp.txt
Rem 下行先保存當前目錄,再將c:\windows設爲當前目錄
pushd c:\windows
Call :sub tmp.txt
Rem 下行恢復前次的當前目錄
Popd
Call :sub tmp.txt
pause
Del tmp.txt
exit
:sub
Echo 刪除引號: %~1
Echo 擴充到路徑: %~f1
Echo 擴充到一個驅動器號: %~d1
Echo 擴充到一個路徑: %~p1 
Echo 擴充到一個文件名: %~n1
Echo 擴充到一個文件擴展名: %~x1
Echo 擴充的路徑指含有短名: %~s1 
Echo 擴充到文件屬性: %~a1 
Echo 擴充到文件的日期/時間: %~t1 
Echo 擴充到文件的大小: %~z1 
Echo 擴展到驅動器號和路徑:%~dp1
Echo 擴展到文件名和擴展名:%~nx1
Echo 擴展到類似 DIR 的輸出行:%~ftza1
Echo.
Goto :eof

在這裏插入圖片描述

if

1、結合errorlevel使用

@echo off
dir d:
rem 退出代碼>=1,就跳到1;>=0跳至0
if errorlevel 1 goto 1
if errorlevel 0 goto 0
:0
echo 命令執行成功
goto exit
:1
echo 命令執行失敗
goto exit
:exit
pause

if errorlevel 值 cmmand 句式,它的含義是:如果返回的錯誤碼值大於或等於值 的時候,將執行cmmand
執行成功時
在這裏插入圖片描述
第二行代碼改爲一個不存在盤符時, dir e:,會執行失敗
在這裏插入圖片描述
2、判斷字符串相等

@echo off
if "cat"=="cat" (echo yes) else echo No

這裏是區分大小寫的。除了使用引號,也可以使用中括號[ ]和大括號{ }包裹字符串

3、判斷文件存在與否

@echo off
if exist a.txt echo 文件存在
@echo off
if not exist a.txt echo 文件不存在

手把手教你寫批處理
.bat腳本基本命令語法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章