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ù)解決您的所有建站問題。
Shell?"cmd.exe?/c?你要執(zhí)行的命令"
其中要執(zhí)行的命令中需要注意空格問題 如果一個參數(shù)中有空格就需要使用雙引號引起來,雙引號在VB字符串中使用兩個雙引號("")表示。
例如:
Shell?"cmd.exe?/c?copy?""d:\ab?c.txt""?""d:\a?bc.txt"""
Shell 函數(shù)
執(zhí)行一個可執(zhí)行文件,返回一個 Variant (Double),如果成功的話,代表這個程序的任務(wù) ID,若不成功,則會返回 0。
語法
Shell(pathname[,windowstyle])
Shell 函數(shù)的語法含有下面這些命名參數(shù):
部分 描述
pathname 必要參數(shù)。Variant (String),要執(zhí)行的程序名,以及任何必需的參數(shù)或命令行變量,可能還包括目錄或文件夾,以及驅(qū)動器。
Windowstyle 可選參數(shù)。Variant (Integer),表示在程序運(yùn)行時窗口的樣式。如果 windowstyle 省略,則程序是以具有焦點(diǎn)的最小化窗口來執(zhí)行的。
windowstyle 命名參數(shù)有以下這些值:
常量 值 描述
vbHide 0 窗口被隱藏,且焦點(diǎn)會移到隱式窗口。
VbNormalFocus 1 窗口具有焦點(diǎn),且會還原到它原來的大小和位置。
VbMinimizedFocus 2 窗口會以一個具有焦點(diǎn)的圖標(biāo)來顯示。
VbMaximizedFocus 3 窗口是一個具有焦點(diǎn)的最大化窗口。
VbNormalNoFocus 4 窗口會被還原到最近使用的大小和位置,而當(dāng)前活動的窗口仍然保持活動。
VbMinimizedNoFocus 6 窗口會以一個圖標(biāo)來顯示。而當(dāng)前活動的的窗口仍然保持活動。
說明
如果 Shell 函數(shù)成功地執(zhí)行了所要執(zhí)行的文件,則它會返回程序的任務(wù) ID。任務(wù) ID 是一個唯一的數(shù)值,用來指明正在運(yùn)行的程序。如果 Shell 函數(shù)不能打開命名的程序,則會產(chǎn)生錯誤。
注意 缺省情況下,Shell 函數(shù)是以異步方式來執(zhí)行其它程序的。也就是說,用 Shell 啟動的程序可能還沒有完成執(zhí)行過程,就已經(jīng)執(zhí)行到 Shell 函數(shù)之后的語句。
shell "cmd /c dir c:\*.*",1
msgbox("執(zhí)行完畢")
另外CMD窗口是無法隱藏執(zhí)行的,當(dāng)然,你可以換另外一個思路,就是啟用一個新線程,然后將線程后臺執(zhí)行CMD語句,這樣前臺就看不到CMD窗口了
請參考下面的示例
shell "cmd /c dir",1'/c表示執(zhí)行完即關(guān)閉窗口
shell "cmd /k dir",1'/k表示執(zhí)行完停留
shell "cmd /c dir pause",1'多條語句可用連接
關(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 后修改字符串處理(見下)
/Q 關(guān)閉回應(yīng)
/D 從注冊表中停用執(zhí)行 AutoRun 命令(見下)
/A 使向內(nèi)部管道或文件命令的輸出成為 ANSI
/U 使向內(nèi)部管道或文件命令的輸出成為 Unicode
/T:fg 設(shè)置前景/背景顏色(詳細(xì)信息,請見 COLOR /?)
/E:ON 啟用命令擴(kuò)展(見下)
/E:OFF 停用命令擴(kuò)展(見下)
/F:ON 啟用文件和目錄名稱完成字符 (見下)
/F:OFF 停用文件和目錄名稱完成字符(見下)
/V:ON 將 ! 作為定界符啟動延緩環(huán)境變量擴(kuò)展。如: /V:ON 會
允許 !var! 在執(zhí)行時允許 !var! 擴(kuò)展變量 var。var 語法
在輸入時擴(kuò)展變量,這與在一個 FOR 循環(huán)內(nèi)不同。
/V:OFF 停用延緩的環(huán)境擴(kuò)展。
VB.NET 里面會有一個main方法表示函數(shù)的入口
main方法的參數(shù)就是命令行傳給它的
shutdown.exe能直接調(diào)用是因為你的環(huán)境變量有C盤的windows目錄
你只要在你程序的輸出目錄(一般為bin)里面打開命令行輸入程序名稱.exe就可以直接執(zhí)行你的窗體
如果你要調(diào)試輸入命令的效果,你打開你項目的屬性,找到調(diào)試?yán)锩娴拿钚袇?shù),在里面輸入測試參數(shù)就能在你main函數(shù)里面看到結(jié)果了
那如果你想打開任何命令行都可以執(zhí)行你的窗體程序,那你把你程序的安裝目錄設(shè)置為環(huán)境變量,這樣就可以直接執(zhí)行這個命令了
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文件中并自動加換行回車符
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://aaarwkj.com/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)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)