2.1學(xué)習(xí) ping ipconfig arp start shutdown taskkill 命令
學(xué)習(xí)要點(diǎn):
1.測(cè)試IP連接:ping
2.查看IP配置:ipconfig
3.解析地址:arp
4.開啟命令:start
5.關(guān)閉或重啟計(jì)算機(jī):shutdown
6.關(guān)閉指定進(jìn)程taskkill
一.測(cè)試IP連接:ping
用來(lái)檢查網(wǎng)絡(luò)是否通暢或者網(wǎng)絡(luò)連接速度的命令。在此,我們只了解一些基本的參數(shù)就可以了。
-n count 發(fā)送count指定的Echo數(shù)據(jù)包數(shù)。
定義向目標(biāo)IP發(fā)送數(shù)據(jù)包的次數(shù),默認(rèn)為4次。通過此命令可以收集到一些信息。如數(shù)據(jù)包返回的平均時(shí)間為多少,
最快時(shí)間為多少,最慢時(shí)間為多少等等。
例1
C:\Documents and Settings\mzybar>ping -n 3 www.baidu.com
Pinging www.jb51.net [121.14.88.14] with 32 bytes of data:
Reply from 121.14.88.14: bytes=32 time=3ms TTL=57
Reply from 121.14.88.14: bytes=32 time=3ms TTL=57
Reply from 121.14.88.14: bytes=32 time=2ms TTL=57
Ping statistics for 121.14.88.14:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms
我們分析一下吧:
Ping statistics for 121.14.88.14:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
從這里可以知道在給www.baidu.com發(fā)送3個(gè)數(shù)據(jù)包的過程當(dāng)中,返回了3個(gè),沒有數(shù)據(jù)包丟失。
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 3ms, Average = 2ms
這3個(gè)數(shù)據(jù)包當(dāng)中返回速度最快為2ms,最慢為3ms,平均速度為2ms。
例2
ping -n 11 127.0.0.1 >nul
ping本機(jī)11次,可用于批處理延時(shí)10秒。命令中的>nul為屏蔽輸出。
簡(jiǎn)短式可以寫成:
ping -n 11 127.1 >nul
-w timeout 指定超時(shí)間隔,單位為毫秒。
例3
ping 1 -n 1 -w 10000 2>nul 1>nul
批處中可以用于延時(shí)10秒。
二.查看IP配置:ipconfig
由于批處理中經(jīng)常對(duì)計(jì)算機(jī)的TCP/IP 配置信息的截取,這里我們只講一下/all參數(shù)就行了。
/all參數(shù)
作用:顯示所有適配器的完整 TCP/IP 配置信息。當(dāng)使用IPConfig時(shí)不帶任何參數(shù)選項(xiàng),那么它為每個(gè)已經(jīng)配置了的
接口顯示IP地址、子網(wǎng)掩碼和缺省網(wǎng)關(guān)值。
例1
C:\Documents and Settings\mzybar>ipconfig
Windows IP Configuration
Ethernet adapter 本地連接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.73
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.254
這里顯示的信息為:
1.計(jì)算機(jī)的本地連接名稱為:本地連接
2.本機(jī)IP為:192.168.0.73
3.子網(wǎng)掩碼為:255.255.255.0
4.默認(rèn)網(wǎng)關(guān)為:192.168.0.254
例2
C:\Documents and Settings\mzybar>ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : A-073 //計(jì)算機(jī)名稱
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地連接: //計(jì)算機(jī)的本地連接名稱
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Realtek RTL8168/8111 PCI-E Gigabit E //網(wǎng)卡型號(hào)
thernet NIC
Physical Address. . . . . . . . . : 00-E0-4C-59-9B-57 //網(wǎng)卡的MAC地址
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.0.73 //IP地址
Subnet Mask . . . . . . . . . . . : 255.255.255.0 //子網(wǎng)掩碼
Default Gateway . . . . . . . . . : 192.168.0.254 //默認(rèn)網(wǎng)關(guān)地址
DNS Servers . . . . . . . . . . . : 61.144.56.100 //主DNS地址
202.96.128.166 //副DNS地址
當(dāng)ipconfig 命令帶有/all參數(shù)時(shí)將顯示所有適配器的完整 TCP/IP 配置信息,如果你的計(jì)算機(jī)有多個(gè)網(wǎng)卡時(shí),此命
令都會(huì)將它們的信息一一列出來(lái)。
三.解析地址:arp
顯示和修改“地址解析協(xié)議 (ARP)”緩存中的項(xiàng)目。ARP 緩存中包含一個(gè)或多個(gè)表,它們用于存儲(chǔ) IP 地址及其經(jīng)過
解析的以太網(wǎng)或令牌環(huán)物理地址。計(jì)算機(jī)上安裝的每一個(gè)以太網(wǎng)或令牌環(huán)網(wǎng)絡(luò)適配器都有自己?jiǎn)为?dú)的表。
-a參數(shù) 或-g參數(shù),用于查看高速緩存中的所有項(xiàng)目。-a和-g參數(shù)的結(jié)果是一樣的,多年來(lái)-g一直是UNIX平臺(tái)上
用來(lái)顯示ARP高速緩存中所有項(xiàng)目的選項(xiàng),而Windows用的是arp -a(-a可被視為all,即全部的意思),但它也可以
接受比較傳統(tǒng)的-g選項(xiàng)。
arp -a IP
如果我們有多個(gè)網(wǎng)卡,那么使用arp –a 加上對(duì)應(yīng)網(wǎng)卡的IP地址,就可以只顯示與該網(wǎng)卡相關(guān)的ARP緩存項(xiàng)目。
缺省IP情況下,將顯示所有當(dāng)前 ARP 緩存表。
例1
C:\Documents and Settings\mzybar>arp -a
Interface: 192.168.0.20 --- 0x2
Internet Address Physical Address Type
192.168.0.1 00-1a-92-90-19-fe static
192.168.0.2 00-1a-92-90-19-eb static
192.168.0.3 00-1a-92-49-1c-a9 static
192.168.0.4 00-1a-92-90-19-32 static
192.168.0.5 00-1a-92-38-07-09 static
192.168.0.252 00-23-54-a9-f5-4a dynamic
192.168.0.253 00-1d-60-1d-aa-d1 dynamic
192.168.0.254 00-0a-eb-0d-96-ff dynamic
分析一下上面的數(shù)據(jù):
Internet Address:代表 IP 地址。
Physical Address:代表網(wǎng)卡的物理地址,即網(wǎng)卡的MAC地址。
Type:代表ARP表的類型,“dynamic”為動(dòng)態(tài)的;“static”為靜態(tài)的。
arp -s IP 物理地址
我們可以向ARP高速緩存中人工輸入一個(gè)靜態(tài)項(xiàng)目。該項(xiàng)目在計(jì)算機(jī)引導(dǎo)過程中將保持有效狀態(tài),或者在出現(xiàn)錯(cuò)
誤時(shí),人工配置的物理地址將自動(dòng)更新該項(xiàng)目。通過此命令可以實(shí)現(xiàn)ARP綁定。
例2
arp -s 192.168.1.1 00-1a-92-90-19-fe
對(duì)192.168.1.1添加靜態(tài)ARP實(shí)現(xiàn)ARP綁定。
arp -d IP
使用本命令能夠人工刪除一個(gè)靜態(tài)項(xiàng)目??梢暂斎隺rp -d命令,缺省IP情況下將刪除當(dāng)前計(jì)算機(jī)的arp表。
在對(duì)付ARP欺騙中,我們一般先刪除當(dāng)前計(jì)算機(jī)的arp表,然后再實(shí)現(xiàn)ARP綁定。
例3
@echo off
arp –d
arp –s 192.168.0.1 00-1a-92-90-19-fe
arp –s 192.168.0.2 00-1a-92-90-19-eb
arp –s 192.168.0.3 00-1a-92-49-1c-a9
arp –s 192.168.0.4 00-1a-92-90-19-32
arp –s 192.168.0.5 00-1a-92-38-07-09
pause
四.開啟命令:start
基本格式:start “title” filename
其中title可以省略,filename如帶有空格或是特殊符號(hào)的,用""括起來(lái)。
例1
start http://www.baidu.com
這里是打開百度,title省略了。
例2
start "" "%windir%\system32\NOTEPAD.EXE" "%userprofile%\桌面\abc.txt"
用NOTEPAD(記事本)打開 桌面上的abc.txt。
例3
start "" "%userprofile%\桌面\abc.doc"
這里start后面要加""才能啟動(dòng)文件abc.doc,否則不能啟動(dòng)。
如果start 后沒有 " " 則表示把title省略了,此時(shí)文件名若有""的話start就會(huì)把它看作是標(biāo)題,從而變成了省略
文件名,就默認(rèn)開啟cmd了。所以在start后加上""就能防止這種意外的情況。
參數(shù)/min和/max 使開啟的窗口最小化和最大化。
例4
start /min "" "%windir%\system32\NOTEPAD.EXE" "%userprofile%\桌面\abc.txt"
用記事本最小化打開桌面的abc.txt。
五.關(guān)閉或重啟計(jì)算機(jī):shutdown
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "comment"] [-d up:xx:yy]
沒有參數(shù) 顯示此消息(與 ? 相同)
-i 顯示 GUI 界面,必須是第一個(gè)選項(xiàng)
-l 注銷(不能與選項(xiàng) -m 一起使用)
-s 關(guān)閉此計(jì)算機(jī)
-r 關(guān)閉并重啟動(dòng)此計(jì)算機(jī)
-a 放棄系統(tǒng)關(guān)機(jī)
-m \\computername 遠(yuǎn)程計(jì)算機(jī)關(guān)機(jī)/重啟動(dòng)/放棄
-t xx 設(shè)置關(guān)閉的超時(shí)為 xx 秒
-c "comment" 關(guān)閉注釋(最大 127 個(gè)字符)
-f 強(qiáng)制運(yùn)行的應(yīng)用程序關(guān)閉而沒有警告
-d [u][p]:xx:yy 關(guān)閉原因代碼
u 是用戶代碼
p 是一個(gè)計(jì)劃的關(guān)閉代碼
xx 是一個(gè)主要原因代碼(小于 256 的正整數(shù))
yy 是一個(gè)次要原因代碼(小于 65536 的正整數(shù))
例1
shutdown -l
該命令只能注銷本機(jī)用戶,對(duì)遠(yuǎn)程計(jì)算機(jī)不適用。
例2
at 12:00 shutdown -s
通過-s參數(shù),在12:00執(zhí)行關(guān)閉計(jì)算機(jī)。
例3
shutdown -r -t 60
60秒后重啟計(jì)算機(jī)。這里是設(shè)置重啟倒計(jì)時(shí)為60秒。如果沒有設(shè)置時(shí)間則默認(rèn)為30秒。
例4
shutdown -f -s -t 300
通過-f參數(shù)強(qiáng)制計(jì)算機(jī)300秒后關(guān)閉。
例5
shutdown -a
當(dāng)我們?cè)谟龅經(jīng)_擊波或震蕩波病毒時(shí),或是執(zhí)行了上面的關(guān)機(jī)命令時(shí),我們可以運(yùn)用shutdown -a 終止當(dāng)前的關(guān)機(jī)進(jìn)
程,這樣就可以避免關(guān)機(jī)而造成的損失了。
六.關(guān)閉指定進(jìn)程taskkill
Taskkill命令可以根據(jù)進(jìn)程 ID 或圖像名來(lái)結(jié)束一個(gè)或多個(gè)任務(wù)或進(jìn)程。
/im ImageName
指定將終止的進(jìn)程的圖像名稱。
例1
taskkill /im qq.exe
/f process
指定將強(qiáng)制終止的進(jìn)程。對(duì)于遠(yuǎn)程進(jìn)程可忽略此參數(shù),所有遠(yuǎn)程進(jìn)程都將被強(qiáng)制終止。
例2
taskkill /f /im spoolsv.exe
/pid process id 指定要終止的進(jìn)程的PID
例3
taskkill /pid 1230 /pid 1241 /pid 1253
這里是終止PID 分別為 1230 1241 1253的進(jìn)程。
關(guān)于DOS的網(wǎng)絡(luò)命令還是蠻多的,有一些是非常強(qiáng)大的例如regsvr32,netsh,sc,wmic等,這些就不多說了,希望
都多動(dòng)手去搜索一下相關(guān)的資料吧,^^
2.2學(xué)習(xí)常用的特殊符號(hào)
學(xué)習(xí)要點(diǎn):
1.>、>>重定向符
2.| 命令管道符
3.、、|| 組合命令
4.^ 轉(zhuǎn)義字符
5.% 變量引導(dǎo)符
6."" 界定符
一、重定向符 >、>>
> 重定向符, 意思是傳遞并且覆蓋,它所起的作用是將運(yùn)行的結(jié)果傳遞到后面的范圍(后邊可以是文件,也可以是默
認(rèn)的系統(tǒng)控制臺(tái),即命令提示符)。
例1
echo hello120 >1.txt
新建立文件 1.txt,內(nèi)容為”hello120” (注意:行尾有一空格,文件后有一空行)
例2
(echo hello120)>1.txt 新建立文件 1.txt,內(nèi)容為”hello120” (注意:行尾無(wú)空格,但文件后有一空行)
>1.txt echo hello120 新建立文件 1.txt,內(nèi)容為”hello120” (注意:行尾無(wú)空格,但文件后有一空行)
例3
>1.txt nul set /p=hello120 或>1.txt set /p=hello120nul
新建立文件 1.txt,內(nèi)容為”hello120” (注意:行尾無(wú)空格,且文件后也無(wú)空行)
注意:
如果上面的例子中1.txt原來(lái)有內(nèi)容的話,在使用了> 重定向符命令后,將會(huì)被新的內(nèi)容覆蓋掉,這個(gè)一定要注意!
>> 重定向符 將命令的輸出結(jié)果追加到其后面的設(shè)備中去。這個(gè)符號(hào)的作用和>有點(diǎn)類似,但他們是有區(qū)別的 >>是
傳遞并在文件的末尾追加,而>是覆蓋。用法同>一樣的。
例1
echo hello120 >>1.txt
如果1.txt不存在,則新建立文件 1.txt,內(nèi)容為”hello120 ”;如果1.txt存在,則把內(nèi)容為”hello120 ”追加
到其文末尾。
例2
echo hello> 1.txt
echo world>>1.txt
這時(shí)候 1.txt內(nèi)容如下:
hello
world
二、命令管道符 |
表示把在它之前的命令或語(yǔ)句的執(zhí)行結(jié)果作為在它之后的命令或語(yǔ)句的處理對(duì)象,簡(jiǎn)而言之,就是把它之前的輸出作
為它之后的輸入。
例1
tasklist | find /i "qq.exe" taskkill /f /im qq.exe
將tasklist(進(jìn)程列表)用傳遞符"|" 傳遞給find 命令,執(zhí)行查找QQ的進(jìn)程。
例2
echo Y|rd /s c:\abc
通過管道命令|將echo y 的結(jié)果傳給rd /s c:\abc 命令,從而達(dá)到自動(dòng)輸入y 的目的。
★注意,管道命令 | 的輸入方法,shift鍵 \
三、組合命令 、、||
、、|| 為組合命令,顧名思義,就是可以把多個(gè)命令組合起來(lái)當(dāng)一個(gè)命令來(lái)執(zhí)行。
符號(hào)允許同時(shí)執(zhí)行多條命令,當(dāng)?shù)谝粋€(gè)命令執(zhí)行失敗了,也不影響后邊的命令執(zhí)行。這里 兩邊的命令是順序執(zhí)行
的,從前往后執(zhí)行。
格式:第一條命令 第二條命令 [ 第三條命令...]
例1
dir z:\ dir y:\ dir c:\
以上命令會(huì)連續(xù)顯示z,y,c 盤的內(nèi)容,不理會(huì)該盤是否存在。
符號(hào)允許同時(shí)執(zhí)行多條命令,當(dāng)碰到執(zhí)行出錯(cuò)的命令后將不再執(zhí)行后面的命令,如果一直沒有出錯(cuò)則一直執(zhí)行完
所有命令。
格式:第一條命令 第二條命令 [ 第三條命令...]
例2
dir z:\ dir y:\ dir c:\
這個(gè)命令和上面的類似,但區(qū)別是,前一個(gè)命令執(zhí)行失敗時(shí),后邊的命令就不會(huì)再執(zhí)行了。
||符號(hào)允許同時(shí)執(zhí)行多條命令,當(dāng)一條命令執(zhí)行失敗后才執(zhí)行第二條命令,當(dāng)碰到執(zhí)行正確的命令后將不執(zhí)行后面
的命令,如果沒有出現(xiàn)正確的命令則一直執(zhí)行完所有命令。
格式:第一條命令 || 第二條命令 [|| 第三條命令...]
例3
tasklist | find /i "qq.exe" taskkill /f /im qq.exe || echo 你開了QQ?我不信
通過和||兩個(gè)符號(hào)可以認(rèn)為把上例分成了三個(gè)命令:
第一個(gè)命令::tasklist | find /i "qq.exe"
第二個(gè)命令:taskkill /f /im qq.exe
第三個(gè)命令:echo 你開了QQ?我不信
這里我們分析一下,
如果找不到QQ進(jìn)程,即第一個(gè)命令執(zhí)行失敗,則 不會(huì)執(zhí)行第二個(gè)命令:taskkill命令,由于taskkill 命令沒有
執(zhí)行,視作第二個(gè)命令執(zhí)行失敗,則 || 將會(huì)執(zhí)行第三個(gè)命令:echo 命令。
如果找到QQ進(jìn)程,即第一個(gè)命令執(zhí)行成功,則 將會(huì)執(zhí)行第二個(gè)命令:taskkill命令,由于第二個(gè)命令執(zhí)行成功,
|| 將不會(huì)執(zhí)行第三個(gè)命令:echo 命令。
★管道命令 | | 的輸入方法,輸入兩次shift鍵 \
★組合命令和重定向命令、管道命令一起使用必須注意優(yōu)先級(jí)。管道命令的優(yōu)先級(jí)高于重定向命令,重定向命令的優(yōu)
先級(jí)高于組合命令。
思考:
把C 盤和 D 盤的文件和文件夾列出到a.txt 文件中。
你可能馬上的寫出了下面的命令:
dir c:\ dir d:\ > a.txt
這樣執(zhí)行后a.txt 里只有D盤的信息!為什么?因?yàn)榻M合命令的優(yōu)先級(jí)沒有重定向命令的優(yōu)先級(jí)高!所以命令在執(zhí)
行時(shí)將被分成兩部分:dir c:\和dir d:\ > a.txt
這里要使用組合命令達(dá)到題目的要求,我們可以這樣寫:
dir c:\ > a.txt dir d:\ >> a.txt
這樣,依據(jù)優(yōu)先級(jí)高低,DOS 將把這句話分成以下兩部分:dir c:\ > a.txt 和dir d:\ >> a.txt
當(dāng)然,我們也可以這樣寫:
dir c:\ > a.txt dir d:\ >> a.txt
四、轉(zhuǎn)義字符 ^
一般而言,^ 以轉(zhuǎn)義字符的身份出現(xiàn)。
因?yàn)樵赾md環(huán)境中,有些字符具備特殊功能,如 >、>>表示重定向,| 表示管道,、、|| 表示語(yǔ)句連接……它
們都有特定的功能,如果需要把它們作為字符輸出的話,echo >、echo | ……之類的寫法就會(huì)出錯(cuò)——cmd解釋器會(huì)
把它們作為具有特殊功能的字符對(duì)待,而不會(huì)作為普通字符處理,這個(gè)時(shí)候,就需要對(duì)這些特殊字符做轉(zhuǎn)義處理:在
每個(gè)特殊字符前加上轉(zhuǎn)義字符^。
因此,要輸出這些特殊字符,就需要用 echo ^>、echo ^|、echo ^|^|、echo ^^……之類的格式來(lái)處理;
另外,此轉(zhuǎn)義字符還可以用作續(xù)行符號(hào)。
例1
@echo off
echo 這是^
一個(gè)^
句子
Pause
為什么轉(zhuǎn)義字符放在行尾可以起到續(xù)行符的作用呢?原因很簡(jiǎn)單,因?yàn)槊啃心┪策€有一個(gè)看不見的符號(hào),即回車
符,轉(zhuǎn)義字符位于行尾時(shí)就讓回車符失效了,從而起到了續(xù)行的作用。
五、變量引導(dǎo)符 %
①當(dāng)百分號(hào)成對(duì)出現(xiàn),并且其間包含非特殊字符時(shí),一般做變量引用處理,比如:%var%、%str%
例1
@echo off
set str=abc
echo 變量 str 的值是: %str%
pause
在屏幕上將顯示這樣的結(jié)果:
變量 str 的值是: abc
按任意鍵繼續(xù)...
②另外,百分號(hào)作為變量引用還有一種特殊形式,那就是對(duì)形式參數(shù)的引用,此時(shí),單個(gè)百分號(hào)后面緊跟0~9這10
個(gè)數(shù)字,如%0、%1、%2 。。。
%0 表示批處理文件本身,包括完整的路徑和擴(kuò)展名
%1至%9 表示第一個(gè)參數(shù)至第九個(gè)參數(shù)
例2
@echo off
if defined str goto next
set str=
set /p str=請(qǐng)把文件拉到本窗口后回車:
call "%~0" %str%
pause
:next
cls
echo 本批處理文件完整路徑為:"%~0"
echo 拖到本窗口的文件完整路徑為:"%~1"
goto :eof
③出現(xiàn)在 set /a 語(yǔ)句中時(shí),表示兩數(shù)相除取余數(shù),也就是所謂的模運(yùn)算,它在命令行窗口和批處理文件中的寫法
略有差異:在命令行窗口中,只需要單個(gè)的%,在批處理文件中,需要連續(xù)兩個(gè)百分號(hào),寫成%%。
例如:在命令行窗口中,運(yùn)行 set /a num=4%2 ,則結(jié)果將顯示0,因?yàn)?除以2的余數(shù)為0;
如果保存為批處理文件,則此語(yǔ)句將略有改變:
例3
@echo off
set /a num=4%%2
echo 4除以2的余數(shù)為 %num%
pause
④轉(zhuǎn)義符號(hào):如果要顯示%本身時(shí),需要在前面用%來(lái)轉(zhuǎn)義。
例4
@echo off
echo 一個(gè)百分號(hào):%%
echo 兩個(gè)百分號(hào):%%%%
echo 三個(gè)百分號(hào):%%%%%%
pause
六、界定符 ""
①在表示帶有空格或特殊符號(hào)的路徑時(shí)常要用""來(lái)將路徑括起來(lái)。
例1
cd /d cd "d:\program files\^%*abc"
因?yàn)槁窂街袔в锌崭窈吞厥夥?hào),所以要用""將路徑括起來(lái)。
②表示其中的內(nèi)容是一個(gè)完整的字符串。
例2
@echo off
set "var=abc 123"
echo %var%
pause
這里表示變量var的值為字符串“abc 123”。
由于符號(hào)還有很多,在此就只說了上面幾個(gè)常用的,有空的話可以觀看這篇文章《批處理常用符號(hào)詳解》,