02 批處理
在批處理中,我們可以對(duì)命令進(jìn)行批量操作,并且可以引入一些邏輯處理的環(huán)節(jié)。在windows下,批處理腳本的后綴一般是*.bat。一行(回車(chē))就是一條命令。
一、常用命令
::或者rem: 注釋
echo:表示輸出,可以輸出常量或者變量
-
@echo off:是用來(lái)關(guān)閉命令本身的輸出,即不顯示所執(zhí)行的命令語(yǔ)句
- 加上@echo off
1.png
- 不加@echo off

-
變量:一般的變量都是通過(guò)set命令來(lái)實(shí)現(xiàn)定義,set 變量名=變量值。對(duì)于變量的使用:在windows下一般是通過(guò)%變量名%來(lái)進(jìn)行調(diào)用。
3.png
-
變量的調(diào)用:除了可以直接調(diào)用變量,也可以對(duì)變量的值進(jìn)行選擇性調(diào)用,格式為:%變量名:~M,N%,表示從變量的第M個(gè)字節(jié)開(kāi)始讀取,讀取N個(gè)字符長(zhǎng)度的值。如果N省略,則表示M之后
4.png
-
常用參數(shù)
- /a: 表示變量可以進(jìn)行數(shù)學(xué)計(jì)算。

- /p: 表示從用戶(hù)輸入中接收變量的值。

-
重定向:
-
">":標(biāo)準(zhǔn)正確輸出重定向,默認(rèn)的輸出是控制臺(tái),通過(guò)該操作符可以改變輸出對(duì)象
- 拿一個(gè)文件夾里面的所有文件的文件名
8.png
-
-
錯(cuò)誤的信息并不會(huì)存進(jìn)去
9.png
-
2> :標(biāo)準(zhǔn)錯(cuò)誤重定向,默認(rèn)的輸出是控制臺(tái)
-
存入錯(cuò)誤的信息
10.png
-
-
<: 標(biāo)準(zhǔn)輸入重定向,一般來(lái)說(shuō)是通過(guò)該操作將文件作為用戶(hù)輸入使用
7.png
-
正確和錯(cuò)誤的輸入到同一個(gè)文件中
dir /B /A:-D a >log.txt 2>&1 或者 dir /B /A:-D a 2>log.txt >&2
二、練習(xí)
注意:寫(xiě)批量腳本的時(shí)候,嘗試在命令行執(zhí)行,先單條執(zhí)行沒(méi)問(wèn)題再寫(xiě)進(jìn)腳本中
1、查詢(xún)本機(jī)IP并進(jìn)行ping
- 先查詢(xún)出IP地址

-
篩選,并輸出到ip.txt中
ipconfig|findstr /i "ipv4" > ip.txt -
ip.txt賦值給一個(gè)變量,并輸出ip地址
13.png
- ping

- 整合到腳本

2、能夠ping指定第N個(gè)IP地址。
@echo off
rem 獲取ip
ipconfig|findstr /i "ipv4" > ip.txt
rem 獲取多行并賦值
(set /p line1=&set /p line2=&set /p line3= ) < ip.txt
rem echo %line1:~37%
rem 輸入N
set /p n="請(qǐng)輸入你要ping第幾個(gè)IP:"
rem 判斷
if %n% equ 1 (ping %line1:~39%)
if %n% equ 2 (ping %line2:~39%)
if %n% equ 3 (ping %line3:~39%)
rem 按任意鍵繼續(xù)
pause
3、編寫(xiě)一個(gè)bat腳本,用來(lái)實(shí)現(xiàn)簡(jiǎn)單的加法計(jì)算,讓用戶(hù)輸入兩個(gè)數(shù)字,得到和
@echo off
set /p a="請(qǐng)輸入a:"
set /p b="請(qǐng)輸入b:"
set /a c = %a%+%b%
echo "a+b的結(jié)果是:%c%"
pause
總結(jié):
能夠掌握批處理的基本概念,當(dāng)別人給你一個(gè)任務(wù),你能想到用批處理來(lái)解決,這個(gè)思想足夠,命令不重要,重要是能有這個(gè)想法和思路。第二個(gè),能夠閱讀理解所接觸到的批處理腳本。能知道大概的意思,那就很棒







