回覆列表
-
1 # gtnzz2211
-
2 # 藍風24
各有千秋 但總的說來 BAT的描述能力不及VBS 比如說:延時執行某個程式
vbs程式碼:
wscript.sleep 12000
set ws=createobject("wscript.shell")
ws.run "D:\admin\system\monitor.vbs" 這只是個例子:執行檔案的絕對路徑
執行指定檔案後程序本身自動退出
批處理程式碼:
@echo off
ping -n 20 127.1>nul
D:\admin\system\monitor.vbs 這只是個例子:執行檔案的絕對路徑
goto :eof
這時在任務管理器中你會看到兩個程序
ping.exe 和 cmd.exe
批處理本身沒有延時函式 而是透過 pin.exe實現 並且此時批處理的劣勢就凸現出來 :程式本身執行時會產生一個黑色的dos框 非常不爽 並且要等monitor.vbs執行完後程序本身才能退出(多麼的消耗系統資源!!) 此時VBS的優勢非常明顯 從很多方面來說 批處理不及VBS。
批處理和作業系統結合更緊密,如果要對作業系統進行一些操作的話,比如修改ip,修改登錄檔,移動檔案等,bat不僅來的更方便,而且更安全從功能上講vbs更加強大一些,能完成bat不能完成的各種任務,比如建立lnk快捷方式,呼叫windows api等,並且可以完全隱藏執行,並且在字串處理和運算方面比bat強很多。但是vbs中的大多數功能不像bat中那樣封裝成程式或者命令,已經考慮到了各種意外或者出錯的情況,而用vbs移動檔案或者修改登錄檔的時候則要承擔一定的風險。也就是說用bat就相當於你在操作電腦;而用vbs則更底層一些,你必須要考慮到突然斷電、死迴圈、宕機、相容性等特殊的情況