2011-12-30 21 views
66

cscript和wscript有什麼區別?哪一個最適合在Windows中執行Telnet和FTP自動化?wscript和cscript的區別

+2

[VBS的Cscript.exe WScript.exe的(HTTP的可能重複。 com/questions/5788303/vbs-cscript-exe-wscript-exe) – McDowell 2012-01-30 16:16:53

回答

105

在Windows中,可執行文件是控制檯應用程序或Windows應用程序(或SFU或本機應用程序,但這裏無關緊要)。

內核檢查可執行文件中的標誌以確定哪個標誌。

使用CreateProcess WinAPI的功能,如果它是一個控制檯應用程序,內核會爲它創建一個控制檯窗口,如果父進程沒有一個,並附加STDINSTDOUTSTDERR流控制檯開始。

如果是Windows應用程序,則不會創建任何控制檯,並且STDIN,STDOUTSTDERR將在默認情況下關閉。

WSCRIPT.EXECSCRIPT.EXE幾乎完全相同,除了一個標記爲Windows應用程序,另一個標記爲控制檯應用程序(猜猜是哪個方向!)。

所以答案是:如果您希望腳本具有控制檯窗口,請使用CSCRIPT.EXE。如果您希望它沒有控制檯窗口,請使用WSCRIPT.EXE

這也會影響一些行爲,例如WScript.Echo命令。在CSCRIPT.EXE中,這將一行寫入控制檯窗口。在WSCRIPT.EXE它顯示一個消息框。

對於您的應用,我建議CSCRIPT.EXE。我想你也應該看看膩子砰砰,你也應該看到這樣的位置://計算器:

+3

@ McDonald's我只是想謀生。我沒有別的選擇,只能使用堆棧溢出(Stack Overflow),因爲沒有其他選擇,我憎恨業主繼續使用該站點的方式來制定政治觀點,使得那個月很難消化他們的早餐。所以我的用戶名是我反對這種每一個該死的事情的政治化的抗議。 – Ben 2017-08-25 08:19:14