VB中Shell執(zhí)行CMD命令使用如下代碼
成都創(chuàng)新互聯(lián)從2013年創(chuàng)立,先為內(nèi)黃等服務(wù)建站,內(nèi)黃等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為內(nèi)黃企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
Shell?"cmd.exe?/c?你要執(zhí)行的命令"
其中要執(zhí)行的命令中需要注意空格問(wèn)題 如果一個(gè)參數(shù)中有空格就需要使用雙引號(hào)引起來(lái),雙引號(hào)在VB字符串中使用兩個(gè)雙引號(hào)("")表示。
例如:
Shell?"cmd.exe?/c?copy?""d:\ab?c.txt""?""d:\a?bc.txt"""
Shell 函數(shù)
執(zhí)行一個(gè)可執(zhí)行文件,返回一個(gè) Variant (Double),如果成功的話,代表這個(gè)程序的任務(wù) ID,若不成功,則會(huì)返回 0。
語(yǔ)法
Shell(pathname[,windowstyle])
Shell 函數(shù)的語(yǔ)法含有下面這些命名參數(shù):
部分 描述
pathname 必要參數(shù)。Variant (String),要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,以及驅(qū)動(dòng)器。
Windowstyle 可選參數(shù)。Variant (Integer),表示在程序運(yùn)行時(shí)窗口的樣式。如果 windowstyle 省略,則程序是以具有焦點(diǎn)的最小化窗口來(lái)執(zhí)行的。
windowstyle 命名參數(shù)有以下這些值:
常量 值 描述
vbHide 0 窗口被隱藏,且焦點(diǎn)會(huì)移到隱式窗口。
VbNormalFocus 1 窗口具有焦點(diǎn),且會(huì)還原到它原來(lái)的大小和位置。
VbMinimizedFocus 2 窗口會(huì)以一個(gè)具有焦點(diǎn)的圖標(biāo)來(lái)顯示。
VbMaximizedFocus 3 窗口是一個(gè)具有焦點(diǎn)的最大化窗口。
VbNormalNoFocus 4 窗口會(huì)被還原到最近使用的大小和位置,而當(dāng)前活動(dòng)的窗口仍然保持活動(dòng)。
VbMinimizedNoFocus 6 窗口會(huì)以一個(gè)圖標(biāo)來(lái)顯示。而當(dāng)前活動(dòng)的的窗口仍然保持活動(dòng)。
說(shuō)明
如果 Shell 函數(shù)成功地執(zhí)行了所要執(zhí)行的文件,則它會(huì)返回程序的任務(wù) ID。任務(wù) ID 是一個(gè)唯一的數(shù)值,用來(lái)指明正在運(yùn)行的程序。如果 Shell 函數(shù)不能打開命名的程序,則會(huì)產(chǎn)生錯(cuò)誤。
注意 缺省情況下,Shell 函數(shù)是以異步方式來(lái)執(zhí)行其它程序的。也就是說(shuō),用 Shell 啟動(dòng)的程序可能還沒(méi)有完成執(zhí)行過(guò)程,就已經(jīng)執(zhí)行到 Shell 函數(shù)之后的語(yǔ)句。
shell "cmd /c dir c:\*.*",1
msgbox("執(zhí)行完畢")
另外CMD窗口是無(wú)法隱藏執(zhí)行的,當(dāng)然,你可以換另外一個(gè)思路,就是啟用一個(gè)新線程,然后將線程后臺(tái)執(zhí)行CMD語(yǔ)句,這樣前臺(tái)就看不到CMD窗口了
請(qǐng)參考下面的示例
shell "cmd /c dir",1'/c表示執(zhí)行完即關(guān)閉窗口
shell "cmd /k dir",1'/k表示執(zhí)行完停留
shell "cmd /c dir pause",1'多條語(yǔ)句可用連接
關(guān)于cmd的具體用法可以在命令提示符下敲入cmd/?看看
太多了,只列舉一些典型的:
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C 執(zhí)行字符串指定的命令然后終斷
/K 執(zhí)行字符串指定的命令但保留
/S 在 /C 或 /K 后修改字符串處理(見(jiàn)下)
/Q 關(guān)閉回應(yīng)
/D 從注冊(cè)表中停用執(zhí)行 AutoRun 命令(見(jiàn)下)
/A 使向內(nèi)部管道或文件命令的輸出成為 ANSI
/U 使向內(nèi)部管道或文件命令的輸出成為 Unicode
/T:fg 設(shè)置前景/背景顏色(詳細(xì)信息,請(qǐng)見(jiàn) COLOR /?)
/E:ON 啟用命令擴(kuò)展(見(jiàn)下)
/E:OFF 停用命令擴(kuò)展(見(jiàn)下)
/F:ON 啟用文件和目錄名稱完成字符 (見(jiàn)下)
/F:OFF 停用文件和目錄名稱完成字符(見(jiàn)下)
/V:ON 將 ! 作為定界符啟動(dòng)延緩環(huán)境變量擴(kuò)展。如: /V:ON 會(huì)
允許 !var! 在執(zhí)行時(shí)允許 !var! 擴(kuò)展變量 var。var 語(yǔ)法
在輸入時(shí)擴(kuò)展變量,這與在一個(gè) FOR 循環(huán)內(nèi)不同。
/V:OFF 停用延緩的環(huán)境擴(kuò)展。
VB.NET 里面會(huì)有一個(gè)main方法表示函數(shù)的入口
main方法的參數(shù)就是命令行傳給它的
shutdown.exe能直接調(diào)用是因?yàn)槟愕沫h(huán)境變量有C盤的windows目錄
你只要在你程序的輸出目錄(一般為bin)里面打開命令行輸入程序名稱.exe就可以直接執(zhí)行你的窗體
如果你要調(diào)試輸入命令的效果,你打開你項(xiàng)目的屬性,找到調(diào)試?yán)锩娴拿钚袇?shù),在里面輸入測(cè)試參數(shù)就能在你main函數(shù)里面看到結(jié)果了
那如果你想打開任何命令行都可以執(zhí)行你的窗體程序,那你把你程序的安裝目錄設(shè)置為環(huán)境變量,這樣就可以直接執(zhí)行這個(gè)命令了
Private?Sub?Button1_Click(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?Button1.Click
Dim?b?As?Boolean?=?My.Computer.Network.Ping("192.168.1.1",?1000)?'返回ping結(jié)果,true表示通,false表示不通,1000表示1000毫秒內(nèi)返回結(jié)果
My.Computer.FileSystem.WriteAllText("c:\1.txt",?b.ToString??vbCrLf,?True)?'寫入到c盤的1.txt文件中并自動(dòng)加換行回車符
End?Sub
調(diào)用c:\1.bat,可以這樣:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Shell("cmd.exe /c call c:\1.bat", AppWinStyle.NormalFocus)
End Sub
分享名稱:vb.netcmd命令,vbs調(diào)用cmd
文章網(wǎng)址:http://www.rwnh.cn/article22/dsiipcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站收錄、響應(yīng)式網(wǎng)站、網(wǎng)站排名、外貿(mào)建站、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)