ChatGPT解决这个技术问题 Extra ChatGPT

wscript和cscript的区别

cscript 和 wscript 有什么区别?哪个最适合在 Windows 中进行 Telnet 和 FTP 自动化?


C
Community

在 Windows 中,可执行文件可以是控制台应用程序或 Windows 应用程序(或 SFU 或本机应用程序,但这并不重要)。

内核检查可执行文件中的标志以确定哪个标志。

开始使用 CreateProcess WinAPI 函数时,如果是控制台应用程序,如果父进程没有控制台窗口,内核会为其创建一个控制台窗口,并附加 STDINSTDOUTSTDERR 流到控制台。

如果是 Windows 应用程序,则不会创建控制台,默认情况下会关闭 STDINSTDOUTSTDERR

WSCRIPT.EXECSCRIPT.EXE 几乎完全相同,只是其中一个被标记为 Windows 应用程序,而另一个被标记为控制台应用程序(猜猜看哪条路!)。

所以答案是:如果您希望您的脚本有一个控制台窗口,请使用 CSCRIPT.EXE。如果您希望它没有控制台窗口,请使用 WSCRIPT.EXE

这也会影响某些行为,例如 WScript.Echo 命令。在 CSCRIPT.EXE 中,这会将一行写入控制台窗口。在 WSCRIPT.EXE 中显示一个消息框。

对于您的应用,我建议CSCRIPT.EXE。我认为你也应该看看 PuTTY 和 PLink,你也应该在这里看到这个:

使用 Windows 脚本宿主从 WshShell.Exec 捕获输出


@McDonald's 我只是想谋生。我别无选择,只能使用 Stack Overflow,因为别无选择,而且我讨厌业主继续使用该网站就使当月早餐难以消化的任何事情发表政治观点的方式。所以我的用户名是我反对将每件该死的事情政治化的抗议。