欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

批處理的api WMIC學(xué)習(xí)體會(huì)有感第2/2頁(yè)

 更新時(shí)間:2008年06月06日 12:37:10   作者:  
上期的專(zhuān)欄里,NP給大家寫(xiě)了一篇很精彩也很有實(shí)際應(yīng)用效果的批處理教程。這期,我給大家講一下最近我學(xué)習(xí)wmic的體會(huì)。

至于別名啦,就是給主板、服務(wù)、系統(tǒng)、進(jìn)程啦這些和計(jì)算機(jī)相關(guān)的東東起了個(gè)英文名,在wmic.exe /?命令行下也可以看到。
wql語(yǔ)句和我們平常用的注入時(shí)的sql語(yǔ)句的語(yǔ)法幾乎是一模一樣,甚至更簡(jiǎn)單。一般是where name="xxx" and 之類(lèi)的,不過(guò)有時(shí)候要把name=“xxx"這樣的格式換成"name='xxx'"或者是where(name='xxx')這樣,反正正常情況下不行的話(huà)就換個(gè)寫(xiě)法。

動(dòng)詞呢,就那么簡(jiǎn)單幾個(gè)assoc、call、CREATE、DELETE、GET、LIST、SET,從英文名字上應(yīng)當(dāng)可以看出它們是用來(lái)干什么的。不過(guò)說(shuō)實(shí)話(huà),assoc我真的還沒(méi)用到過(guò)。
至于副詞(動(dòng)詞的參數(shù)),就是得到用動(dòng)詞+它的參數(shù)得到對(duì)象的屬性。像屬于list動(dòng)詞的副詞,就是顯示個(gè)什么樣的呀,例如顯示詳細(xì)狀態(tài)或簡(jiǎn)要狀態(tài)。
動(dòng)詞開(kāi)關(guān)就好比顯示個(gè)橫表格式的或者顯示個(gè)豎表格式的或者輸出個(gè)什么樣格式的文件,或者是幾秒來(lái)重復(fù)顯示信息等等,有的動(dòng)詞并沒(méi)有開(kāi)關(guān)。

二、一步一步來(lái)完成我們的wmic命令行
wmic里有個(gè)別名是logicaldisk,就是對(duì)磁盤(pán)進(jìn)行管理。我們先按照最簡(jiǎn)單的格式來(lái)寫(xiě),在cmd命令行下輸入●wmic logicaldisk list●(wmic.exe+別名+list動(dòng)詞),稍等一會(huì)兒屏幕上會(huì)出現(xiàn)本地硬盤(pán)的各式各樣的數(shù)據(jù),看上去雜亂無(wú)章。這樣子太不方便看了,我們來(lái)改寫(xiě)一下,改成●wmic logicaldisk list brief●,在list動(dòng)詞后加個(gè)brief參數(shù),也就是brief副詞,顯示的就會(huì)很整齊,效果如下:


DeviceID brief FreeSpace   ProviderName Size        VolumeName
A:        2
C:        3          2925694976                6805409792 WINXP
D:        3          1117487104                1759936512 WORK
E:        5


大家可能注意到了上面命令行中有動(dòng)詞list和副詞brief。list動(dòng)詞決定顯示的信息格式與范圍,它有Brief、Full、Instance、Status、System、Writeable等多個(gè)參數(shù)(副詞),full只是它的一個(gè)參數(shù),也是list的缺省參數(shù),表示顯示所有的信息。其他幾個(gè)參數(shù)顧名思義,如Brief表示只顯示摘要信息,Instance表示只顯示對(duì)象實(shí)例,Status表示顯示對(duì)象狀態(tài),Writeable表示只顯示該對(duì)象的可寫(xiě)入的屬性信息等。
我們?cè)賮?lái)把語(yǔ)句加點(diǎn)東東,在上邊磁盤(pán)返回信息當(dāng)中的DeviceID的值為3時(shí)表示是本地硬盤(pán)的分區(qū),如果是5為光區(qū),為2則是移動(dòng)磁盤(pán)了。我們把語(yǔ)句改一下,加入wql語(yǔ)句,只顯示本地磁盤(pán)。語(yǔ)句改成●wmic logicaldisk where "DriveType=3" list brief●或者是●wmic logicaldisk where(DriveType=3) list brief●,顯示效果都是下邊的樣子:

DeviceID DriveType FreeSpace   ProviderName Size        VolumeName
C:        3          2925686784                6805409792 WINXP
D:        3          1117487104                1759936512 WORK

但是上邊的格式呢顯示的我們還是不太滿(mǎn)意,ProviderName不知是個(gè)什么東東也給顯示出來(lái)了,我們只想要我們想要的東東,像卷標(biāo)VolumeName之類(lèi)的我們也不要它,再把語(yǔ)句改一下,換個(gè)get動(dòng)詞,命令改為●wmic logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,返回信息如下:
★ 
DeviceID,Size,FreeSpace,Description,FileSystem
Description   DeviceID FileSystem FreeSpace   Size
本地固定磁盤(pán) C:        FAT32       2925686784 6805409792
本地固定磁盤(pán) D:        FAT         1117487104 1759936512

至于get動(dòng)詞后面跟的參數(shù)你可以先用list來(lái)查看一下就明白了。好了,這回可以得到我們想要的結(jié)果了。不過(guò)命令里的開(kāi)關(guān)我們還沒(méi)用到呢,加幾個(gè)全局開(kāi)關(guān)吧。先來(lái)加個(gè)/OUTPUT吧,讓它把顯示信息輸出到一個(gè)文件中,命令如下:●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem●,這樣一來(lái)剛才屏幕上返回的信息就到當(dāng)前目錄的a.htm里了。但是a.htm打開(kāi)看看后,根本就像一個(gè)記事本一樣,沒(méi)有任何樣式,看起來(lái)也不美觀(guān),我們給它指定一個(gè)樣式,就要用到format這個(gè)動(dòng)詞開(kāi)關(guān)了,命令改為●wmic /output:a.html logicaldisk where "DriveType=3" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●,這樣一來(lái)a.htm里就花花綠綠的用表格顯示我們本地磁盤(pán)的信息了。也許你要問(wèn),htable是什么東東,其實(shí)這是一個(gè)文件,你想要上邊的a.html什么格式,就可以在C:\WINDOWS\system32\wbem這里找一個(gè)你想要的格式的文件名,具體有以下一些文件:

CSV
HFORM
HMOF
HTABLE
HXML
LIST
TABLE
VALUE
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl


還有人也許要問(wèn)了,我只想顯示c:盤(pán)的,不要其它盤(pán)的可以做到嗎?當(dāng)然可以,這就要用到wql語(yǔ)句的name這個(gè)變量了。你可以先用●wmic logicaldisk list Instance●看到name的具體名字,然后更改上邊的wql語(yǔ)句。好啦,我們改一下,改成●wmic /output:a.html logicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable或者wmic /output:a.html logicaldisk where(name='c:') get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●就可以了。值得注意的是我們?cè)贒riveType=3的沒(méi)有用到單引號(hào)是因?yàn)?是數(shù)字型的,而c:是字符型的所以要用單引號(hào)或雙引號(hào)。不過(guò)要注意的是如果在wql語(yǔ)句中用到了and,請(qǐng)用()或者""把語(yǔ)句引起來(lái)。
這樣一來(lái),我們最后的語(yǔ)句基本符合了我文章開(kāi)頭說(shuō)的wmic的命令格式是“wmic+開(kāi)關(guān)+別名+wql語(yǔ)名+動(dòng)詞+副詞(或者說(shuō)是動(dòng)詞的參數(shù))+動(dòng)詞開(kāi)關(guān)”。不過(guò)wmic可不只能對(duì)本機(jī)操作,還可以對(duì)遠(yuǎn)程機(jī)器進(jìn)行操作,我們?cè)賮?lái)加三個(gè)全局開(kāi)關(guān),讓我們的這條命令對(duì)遠(yuǎn)程格式進(jìn)行操作,命令就是:

●WMIC /node:"192.168.8.100" /user:"administrator" /password:"lcx" /output:a.html logicaldisk where "name='c:'" get DeviceID,Size,FreeSpace,Description,FileSystem /format:htable●

其中node開(kāi)關(guān)表示對(duì)哪臺(tái)機(jī)器進(jìn)行訪(fǎng)問(wèn),user和password當(dāng)然是遠(yuǎn)程機(jī)器的用戶(hù)名和密碼了,這個(gè)命令有了以上的講解,大家應(yīng)當(dāng)一目了然了吧。到現(xiàn)在為止,我們的動(dòng)詞只用到了get和list,我們?cè)偌右粋€(gè)set來(lái)改變c:盤(pán)的卷標(biāo)。命令如下:●WMIC logicaldisk where "name='c:'" set VolumeName ="lcx"●,這樣大家就更進(jìn)一步清楚了這個(gè)格式的用法。寫(xiě)了這么多字,也許你要問(wèn)到我wmic最有用的開(kāi)關(guān)是什么,當(dāng)然是"?"了,如果那個(gè)命令不會(huì)用,可以用wmic /? 、WMIC logicaldisk /?、WMIC logicaldisk list /?、WMIC logicaldisk set /?這樣儀次來(lái)查詢(xún)用法。

三、總結(jié)
wmic是很強(qiáng)大的,像開(kāi)2003的3389一句話(huà)就可以做到:●wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1●。不過(guò)呢,
這篇文章估計(jì)會(huì)有讓觀(guān)眾上當(dāng)受騙的感覺(jué),一個(gè)wmic的磁盤(pán)命令寫(xiě)了這么長(zhǎng)的篇幅,具體的奇淫技巧卻沒(méi)有看到。不過(guò)我想有了本文的基礎(chǔ),你研究wmic其它的別名像進(jìn)程、服務(wù)、bios、主板呀,都會(huì)有一個(gè)切入點(diǎn),具體的好的技巧如開(kāi)3389等就要靠大家去研究發(fā)現(xiàn)了。

相關(guān)文章

最新評(píng)論